Intereting Posts
PDO, MySQL – Как вернуть массив из функции? Получение данных из фрагмента Javascript Обратите внимание на преобразование строки в строку с помощью nusoap Ни один поддерживаемый encrypter не найден Laravel: функции вызова, определенные в base_controller из представления Самый быстрый способ чтения содержимого файла Каковы плюсы и минусы определения класса Controller через URL-адрес или наличие сценария для каждого контроллера? Создать динамически несколько подкаталогов в папку с использованием нескольких текстовых полей ввода в For Loop? как обеспечить ссылку для загрузки уже заархивированных файлов в php Laravel 5 и странная ошибка: фигурные скобки на спине Динамически создавать и заполнять входное радио с помощью PHP Обнаружение, если два окна браузера открыты для одного и того же сайта php сохраняет данные в две строки за раз в базе данных? Как я могу написать поиск MySQL, который может компенсировать данные с ошибками? Как разработать зависимый пакет композитора без необходимости совершать или публиковать изменения?

Как убедиться, что дескриптор файла был закрыт перед следующей операцией?

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

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

Спасибо огромное!

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

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

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

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

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