我目前的脚本是:
$attach[] = array('pics/pic1.jpg', 'image/jpeg');
如何更改它,所以它在pics /文件夹中的随机图片而不是指定的图片?
Theres like 20 pics in pics /
我希望脚本使用随机。
答案 0 :(得分:6)
您可以使用array_rand()
。如果您还没有数组中的所有文件,则可以使用glob()
$all_pics = array();
foreach (glob("./pics/*") as $filename)
$all_pics[] = array($filename, filetype($filename));
$random_pic = array_rand($all_pics);
这是通用的,如果您确定自己的图片都名为pic1
,pic2
等,那么最好只生成一个随机数并在{{3}中使用它}。
答案 1 :(得分:5)
您可以尝试这样的事情:
$attach[] = array('pics/pic'.rand(1,20).'.jpg', 'image/jpeg');
并重命名您的文件pic1,pic2 ...,pic20
答案 2 :(得分:0)
您也可以尝试这样的事情
function getRandomImage()
{
// add more images in the array
$pics = array('pics/pic1.jpg', 'image/pic.jpeg', 'photo/pic.png');
$i = rand(0, count($pics)-1);
return $pics[$i];
}
$image = getRandomImage();
答案 3 :(得分:0)
首先生成一个随机数!
$random_number = rand(0, 19);
然后,获取数组中文件夹的所有图片。
$pics = glob("pics/*");
然后,使用随机数
从阵列中获取随机图片 $random_pic = $pics[$random_number];
您可以一步一步地简化它
$random_pic = glob("pics/*")[rand(0, 19)];