Есть ли способ сделать эту проверку без двух операторов if в PHP? - PullRequest
1 голос
/ 01 октября 2011

У меня есть это, если заявление

if(file_exists( $_SERVER{'DOCUMENT_ROOT'}.$writabledir.$name) && filemtime($_SERVER{'DOCUMENT_ROOT'}.$writabledir.$name) < $olddate)  { 

если файл там, все хорошо, но если файла нет, я получаю эту ошибку

 Warning: filemtime(): stat failed for /User....

Я знаю, что могу сделать и тогда, и внутреннее, если, но есть ли лучший способ?

1 Ответ

0 голосов
/ 01 октября 2011

Если file_exists возвращает false, то вызов filemtime никогда не должен произойти. && - это короткое замыкание логического И в PHP, означающее, что если ему не нужно совершать второй вызов (т. Е. Первая часть логического оператора ложна, следовательно, весь оператор не может быть истинным), не будет Возможно, в вашем коде происходит что-то еще странное.

...