清除缓存 if(file_exists)
Posted
技术标签:
【中文标题】清除缓存 if(file_exists)【英文标题】:clearing cache for if(file_exists) 【发布时间】: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... 并且成功了! 【参考方案1】:您需要先运行clearstatcache()
,然后再运行file_exists()
。或者,为了安全起见,每次都在file_exists()
之前调用它。
【讨论】:
我只需要添加这段代码?唔。似乎问题不在于缓存..以上是关于清除缓存 if(file_exists)的主要内容,如果未能解决你的问题,请参考以下文章