我有这样的功能:
public function asset_exists($path)
{
$webRoot = realpath($this->kernel->getRootDir() . '/../web/');
$toCheck = $webRoot . $path;
if (!file_exists("/Users/mtmac/app/app-web/web/uploads/clients/5b7e824a97ba4.jpeg"))
{
return false;
}
return true;
}
当我将value作为字符串放在file_exists函数上时,一切工作都很好。
问题是当我更改有条件的
时if (!file_exists($toCheck))
{ return false; }
在这种情况下,我总是得到返回值FALSE。
注意:
a。该映像已存在于磁盘上
b。参数$toCheck
的值是
/Users/mtmac/app/app-web/web/uploads/clients/5b7e824a97ba4.jpeg
答案 0 :(得分:-1)
免责声明:我不是PHP开发人员。回答这个问题是因为我发现它很有趣并且想到了挖掘。
现在,您面临的问题似乎与.htaccess文件中设置的php include_path值有关。
这是php.net上有关类似问题的评论。 http://php.net/manual/en/function.file-exists.php#49805
以下是我引用的评论摘录:
最近两个小时,我想知道我的if语句出了什么问题:file_exists($ file)返回false,但是我可以毫无问题地调用include($ file)。
事实证明,我没有意识到我在.htaccess文件中设置的php include_path值没有继承到file_exists,is_file等。
希望这会有所帮助!