我用html调用php脚本来随机显示目录中的图像。我想通过img50.jpg将img1.jpg添加到php文件中,即使其中一些文件还不存在,以便客户端可以在闲暇时将图像添加到目录中。 目前,如果其中一个文件不存在,则仍会调用该图像并显示为丢失的文件。
如何检查文件是否存在,如果文件丢失则忽略它?
这是当前的PHP代码:
<?php
// rotate images randomly but w/o dups on same page - format:
// <img src='rotate.php?i=0'> - rotate image #0 - use 'i=1'
// for second, etc
// (c) 2004 David Pankhurst - use freely, but please leave in my credit
$images=array( // list of files to rotate - add as needed
"img1.gif",
"img2.gif",
"img3.gif",
"img4.gif",
"img5.gif" );
$total=count($images);
$secondsFixed=10; // seconds to keep list the same
$seedValue=(int)(time()/$secondsFixed);
srand($seedValue);
for ($i=0;$i<$total;++$i) // shuffle list 'randomly'
{
$r=rand(0,$total-1);
$temp =$images[$i];
$images[$i]=$images[$r];
$images[$r]=$temp;
}
$index=(int)($_GET['i']); // image index passed in
$i=$index%$total; // make sure index always in bounds
$file=$images[$i];
header("Location: $file"); // and pass file reference back
?>
答案 0 :(得分:0)
加载所有图像后,您可以使用下面的jQuery代码隐藏那些未加载或无法加载的图像
$("img").error(function () {
$(this).hide();
});
答案 1 :(得分:0)
在解析你的那个数组时,使用此函数检查图像是否存在。
PS:你需要定义图像的路径。
if (is_array(getimagesize($absolute_image)))
return true; // image exist
else
return false;