0

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

如果文件不存在,脚本有没有办法显示另一个图像?例如,如果image1.jpg在images/work/目录下不存在,那么会显示图片不可用.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>
"?>
4

3 回答 3

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 。

于 2011-11-03T15:45:30.390 回答
1

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

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

于 2011-11-03T15:45:02.423 回答
1

你需要file_exists();

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

于 2011-11-03T15:47:10.143 回答