使用随机图片而不是特定图片?

时间:2013-11-07 14:24:10

标签: php email random

我目前的脚本是:

$attach[] = array('pics/pic1.jpg', 'image/jpeg');

如何更改它,所以它在pics /文件夹中的随机图片而不是指定的图片?

Theres like 20 pics in pics /

我希望脚本使用随机。

4 个答案:

答案 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);

这是通用的,如果您确定自己的图片都名为pic1pic2等,那么最好只生成一个随机数并在{{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)];