我当前的脚本是这样的:
$attach[] = array('pics/pic1.jpg', 'image/jpeg');
我该如何更改它,所以它会在 pics/ 文件夹中随机生成图片而不是指定的图片?
图片中有 20 张图片/
我希望脚本使用随机的。
你可以用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
等,最好只生成一个随机数并像在sal00ms answer中那样使用它。
你可以尝试这样的事情:
$attach[] = array('pics/pic'.rand(1,20).'.jpg', 'image/jpeg');
并重命名您的文件 pic1,pic2...,pic20
你也可以试试这样的
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();
先生成一个随机数!
$random_number = rand(0, 19);
然后,在一个数组中获取该文件夹的所有图片。
$pics = glob("pics/*");
然后,使用随机数从数组中获取随机图片
$random_pic = $pics[$random_number];
您可以一步将其简化为
$random_pic = glob("pics/*")[rand(0, 19)];