有没有一种方法来做这个检查没有两个if语句在PHP中


Is there a way to do this check without two if statements in PHP?

我有这个if语句

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

如果文件存在,则一切正常但如果文件不在那里,则会得到这个错误

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

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

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