【发布时间】:2016-12-21 03:04:57
【问题描述】:
在处理我的照片库时,我决定最好有一个备用文件,如果应该显示的图像没有。我看过这个网站,可能还有其他人。他们都说要使用:
$VariableName = "photography/small/2014-09-21-red-1.png";
if (file_exists ($VariableName)) {echo "Yes!!!";}
else {echo "Nooo!!!";}
或
if (file_exists ("photography/small/2014-09-21-red-1.png")) {echo "Yes!!!";}
else {echo "Nooo!!!";}
出于某种原因,这对我不起作用。它确实有效,但只有在 file_exists 设置为 !file_exists 时才有效,也就是说:“如果此文件不存在,则显示存在的图像(我想要的图像,而不是替换的图像)”。换一种说法:
这表示如果apple 存在,则显示“橙色”;如果apple 不存在,则显示apple。
我什至将生成的图片链接放在搜索栏中(使用!file_exists 时),按回车后,它会将我带到图片。我已确保将图像设置为0777,以防干扰,但它似乎没有效果。所有$DataRows 变量都连接到数据库,我已经三重检查photography/small 中的文件名是否与数据库表中的文件名匹配。
为什么会这样?
$URLPath = "http://localhost/~matthew/";
if (file_exists ($URLPath . "photography/small/" . $DataRows["DatePublished"] . "-" . $DataRows["FileName"] . "." . $DataRows["ImageExtension"])) {
echo '<img src="' . $URLPath . "photography/small/" . $DataRows["DatePublished"] . "-" . $DataRows["FileName"] . "." . $DataRows["ImageExtension"] . '" alt="' . $DataRows["PhotoName"] . '">' . "\n";
}
else {
echo '<img src="' . $URLPath . 'img/no-image.png" alt="Image Not Here">' . "\n";
}
非常感谢您的帮助。
【问题讨论】:
-
~mathew 是 htdocs 文件夹中的一个文件夹吗?
-
有什么具体的原因,你为什么要绕道HTTPing进入你自己的服务器来检查文件是否存在?也就是说,为什么是
http://localhost/~matthew而不是/var/www/my-docroot? -
RTM php.net/manual/en/function.file-exists.php "从 PHP 5.0.0 开始,该函数也可以与一些 URL 包装器一起使用。请参阅支持的协议和包装器以确定哪些包装器支持 stat() 系列功能。”
-
@Robert 我相信
~matthew是一个htdocs文件夹。我使用 Mac 作为服务器,它的设置不同于 Windows 和 Linux。 -
@Boldewyn 我使用 Mac 作为服务器,它没有像 Windows 那样的
www文件夹。
标签: php image file-exists