1

我对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。

然后我想也许我的文件网址是错误的。但是,如果图像可以在 file_exists 返回 false 时显示,那么图像不应该存在..?

4

1 回答 1

2

您需要在第二次运行clearstatcache()之前运行file_exists()。或者,为了安全起见,file_exists()每次之前都调用它。

于 2012-05-17T01:52:32.753 回答