开发者

How to make sure a file handle has been closed before next operation?

This is the code I have so far, I wonder if it's correct?

$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;
}

Thank you so much!


You can check whether the handle has been closed or not using this statement

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

Therefore, if you need to ensure that fclose has worked before running the next function, you can use this loop:

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

Note: You should also use break; to end while loops when you need to. In this instance the loop will not end until the handle is closed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜