4

これは私がこれまでに持っているコードです、それが正しいかどうか疑問に思いますか?

$handle = fopen($file, 'w') or die("can't open file");
$closed = fclose($handle);
while($closed){
    DOAWESOMETHINGS(); // btw I only want to have this run once for each handle
    $closed = false;
}

どうもありがとう!

4

1 に答える 1

13

このステートメントを使用して、ハンドルが閉じられているかどうかを確認できます

if(!is_resource($handle)){
   //Handle closed
}else{
   //Handle still open
}

したがって、次の関数を実行する前にfcloseが機能していることを確認する必要がある場合は、次のループを使用できます。

while(is_resource($handle)){
   //Handle still open
   fclose($handle);
}
do_awesome_things();

注:break;必要に応じて、whileループを終了するためにも使用する必要があります。この場合、ハンドルが閉じられるまでループは終了しません。

于 2011-04-13T13:55:55.443 に答える