PHP如果图像文件不存在,则显示另一个图像

时间:2011-11-03 15:41:19

标签: php slider nivo-slider

我想知道是否有人能够帮助我使用这个用于Jquery Nivo幻灯片的PHP脚本。该脚本从文本文件中获取文件名,并根据您通过分页所在的页面显示它们。

如果文件不存在,脚本是否有办法显示另一个图像?例如,如果images / work /目录中不存在image1.jpg,那么将显示图像unavailable.jpg吗?

剧本:

 <?php
 echo"

<div class='slider-wrapper theme-custom'>
<div id='slider' class='nivoSlider'>";
$photos=file("photos.txt");
foreach($photos as $image){
$item=explode("|",$image);
if($item[0]==$fields[0]){
$photo=trim($item[1]);
echo"<img src='images/work/$photo' alt='' />\n";
}
}
echo"
</div>
</div>
"?>

3 个答案:

答案 0 :(得分:4)

foreach ($photos as $image) {
    ... explode
    ... trim
    if (!is_readable($your_document_root . '/images/work/$photo)) {
       $photo = 'default.jpg'; // if the required photo isn't there, change to default image
    }
    echo blah blah blah
}

请注意,我已使用is_readable() - 有些人可能会建议使用file_exists(),但这可能会返回误报:文件可能存在,但由于权限仍然无法读取问题。 is_readable()将两者结合起来,只有在文件存在时才返回true AND 可以被网络服务器访问。

答案 1 :(得分:1)

如果它在您的服务器上,您可以使用file_exists()。它将文件的路径作为参数,而不是URL。

http://php.net/manual/en/function.file-exists.php

答案 2 :(得分:1)

您需要file_exists();

返回一个布尔值。在if语句中使用它。如果您具有访问图像的适当权限。