我需要从一个文件夹中生成随机图片。我知道这很简单,比如:
$dire="images/";
$images = glob($dire. '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
<input type="image" src="<?=$randomImage;?>" alt="<?=$randomImage;?>" />
但我必须确保在第二次随机生成之前,该目录中的每个图像至少被选择一次。上面的代码只会显示任何随机图像。
我的想法是,我需要将随机图像存储在一个数组中,并每次使用新创建的随机图像检查该数组。如果新的随机图像不在该数组中,则需要显示该图像,否则我必须找到另一张图像。
我按照以上思路创建了以下代码。
$allimgs=array();
$dire="images/";
$images = glob($dire. '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
if(!in_array($randomImage,$allimgs))
{
$allimgs[]=$randomImage;
<input type="image" src="<?=$randomImage;?>" alt="<?=$randomImage;?>" />
}
但我仍然被这段代码卡住了。请有人帮忙改进这段代码吗?或者有其他的想法吗?
谢谢。
$images
数组中移除它们。 - Nate