有没有办法在PHP中没有两个if语句进行此检查?

时间:2011-09-30 21:04:23

标签: php file-exists

我有这个if语句

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

如果文件在那里一切都很好,但如果文件不在那里我得到这个错误

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

我知道我可以做一个if,然后一个内在if但是有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果file_exists返回false,则filemtime调用永远不会发生。 &&是PHP中的短路逻辑AND,意味着如果它不需要进行第二次调用(即逻辑语句的第一部分是假的,那么整个语句就不可能是真的),它不会。您的代码中可能还有其他奇怪的内容。