为什么将put_value作为参数时file_exists总是返回false?

时间:2018-08-23 12:08:02

标签: php file-exists

我有这样的功能:

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

1 个答案:

答案 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等。

希望这会有所帮助!