файл — открыть папку без предупреждений PHP

opendir() дает мне предупреждение PHP, если папка не может быть доступна.

Я могу использовать is_dir, но что, если папка будет удалена за это время:

  if(is_dir($some_dir)){
// HERE, DELETED, GONE :(
$d = opendir($some_dir);
// warning !!0
}

это предупреждение испортило весь мой код обработки ошибок.

Есть ли способ манипулировать файлами без предупреждения? Ложных результатов достаточно, чтобы понять, что файл недоступен, я не понимаю, почему он должен предупредить меня тоже 🙁

Пожалуйста, не говорите мне использовать @. Там должен быть лучший путь

0

Решение

$d = @opendir($some_dir);

@ перед ошибками молчания функции она может возникнуть.

Тогда вы можете проверить $d чтобы увидеть, сработало ли это или нет (Ложь, если не работает).

Ах да, спасибо комментарии, OP упомянул, чтобы не говорить о @ моя вина.

Тогда другая возможность — изменить конфигурацию php, чтобы php не выдавал предупреждений.

1

Другие решения

Попробуйте следующее, проверив, установлена ​​ли эта переменная в первую очередь.

if(isset($some_dir)):
if(is_dir($some_dir)):
// HERE, DELETED, GONE :(
$d = opendir($some_dir);
// warning !!0
endif;
endif;
0

Попробуйте этот код

  if(is_dir($some_dir)){
// HERE, DELETED, GONE
$d = @opendir($some_dir);
// warning
}

Если вы не хотите использовать ‘@’, тогда вы должны проверить / подтвердить, что ваш путь к каталогу в $ some_dir указан правильно

0
По вопросам рекламы [email protected]