【发布时间】:2012-05-24 15:05:46
【问题描述】:
我有一些关于 file_exists 的问题。请参考以下代码:
echo '<a href = "/classifiedads4free-view-all-ads/'.$catid_related.'-'.$cat_name.'/'.$related_ads['0'].'-'.$ad_name.'">';
if(file_exists('/images/ads/'.$related_ads['0'].'a_t.jpg')){
echo '<img src = "/images/ads/'.$related_ads['0'].'a_t.jpg">';
}
else{
echo '<img src = "/images/ads/no-pre.png">';
}
echo '</a>';
我无法让条件工作。我的意思是,如果我加载的第一个图像是 no-pre.png,它将不显示所有图像。即使我将页面导航到另一个有图片的页面,它仍然会显示 no-pre.png。我阅读了文档并了解问题可能出在我需要清除 file_exists 的缓存的地方,但我真的不知道如何或在哪里使用它..
如果有人可以在这里帮助我,不胜感激。谢谢!赞赏。
更新:我刚刚发现它不是缓存,因为我没有在我的脚本上运行多个 file_exists。只有1.我认为问题出在条件上。如果我放,我可以让图像显示:
if(!file_exists('/images/ads/'.$related_ads['0'].'a_t.jpg'))//NOTICE the !
但现在我的所有文件都存在返回 true,我无法让我的 no-pre 显示。
然后我想也许我的文件 url 是错误的。但是,如果图像可以在 file_exists 返回 false 时显示,那么图像不应该存在..?
【问题讨论】:
-
找到了答案。问题解决了。 file_exists 不接受相对路径。因此,我将我的 file_exists URL 调整为--> if(file_exists($_SERVER{'DOCUMENT_ROOT'}.'/images/ads/'.$related_ads['0'].'a.jpg ')){...code...} 并且成功了!
标签: php if-statement conditional-statements file-exists