即使路径正确,file_exists也会返回 false


file_exists returns false even when the path is right

我在这里看到了一些类似的问题,但没有答案符合我的需求。

我有一个 Wordpress,在上传目录中有一个图像,我有以下图像的 URL: ../../uploads/2016/2/56c3620a9c8af.png我尝试从子主题文件夹内访问该文件:

/home/mydomain/www/wp-content/themes/twentyfifteen_child

我想检查文件是否存在,然后unlink()图像,但file_exists总是返回false,即使我可以回显图像。以下简单函数输出图像,但返回false

function checkImageExist($url)
{
    echo '<img src = "'.$url.'" /><br>'; //The image is rendered
    clearstatcache();
    if(file_exists($url))
    {
       echo 'Image exists '.$url;
    }
    else
    {
        echo 'Image does not exist';    
    }
}

这是我无法理解的。我错过了什么?

完全没有问题:

我用来上传文件的脚本复制了扩展名,所以 56c3620a9c8af.png实际上是 56c3620a9c8af.png.png这个愚蠢的错误是调用时出现图像的原因(因为浏览器能够解析它们,即使复制的扩展名),但file_exists无法找到它们。所以一切都在工作,我对错误源有误

当你真正需要的是$path时,你正在传递一个$url。您可以像这样获取路径:

$path = wp_upload_dir(); //This returns an array with URL info
$path['path']. '/2016/2/56c3620a9c8af.png'