Как убедиться, что дескриптор файла был закрыт перед следующей операцией? - PullRequest
3 голосов
/ 13 апреля 2011

Это код, который у меня есть до сих пор, мне интересно, если он правильный?

1 Ответ

11 голосов
/ 13 апреля 2011

Вы можете проверить, был ли дескриптор закрыт или нет, используя этот оператор

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

Поэтому, если вам нужно убедиться, что fclose сработала до запуска следующей функции, вы можете использовать этот цикл:

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

Примечание: Вы также должны использовать break;, чтобы завершить цикл, когда это необходимо.В этом случае цикл не завершится, пока не будет закрыт дескриптор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...