随机选择一个文件

时间:2013-03-03 20:30:07

标签: php image

我正在编写一个脚本,每天通过电子邮件向我自己发送一个随机图像,我想要做的是将变量$image设置为等于名为/ images的目录中的“随机”图像。

图像只是一个问题(即,它需要真正随机,它可以在日期,图像大小,字母名称等)。

图像是.jpg,.jpeg,.png,.gif的混合。

将随机图像分配给$image可变对象的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

 $images = array('image1.png', 'image2.png', 'image3.jpg');

 $selectedimage = rand(0,count($images));

 $image = $images[$selectedimage];

答案 1 :(得分:0)

这样的事情可能有用......

$files = scandir('/images');
$images = array();
foreach ($files as $file) {
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    switch($ext) {
    case 'jpg':
    case 'png':
    case 'gif':
        $images[] = $file;
        break;
    }
}

$image = $images[array_rand($images)];

答案 2 :(得分:0)

如果我这样做的话,我会更像是一副牌,其中牌组中的每张牌都会被使用一次,然后用完整的牌组重新开始。简单地拉随机图像将允许相同的图像返回。

从一副完整的牌组开始,选择52中的任何一张牌。将牌52换成已拉出的牌并将抽出的牌返回到位置52(牌组的底部)。

接下来画一张卡1-51。用卡51交换抽出的卡片。

取出1-50卡并将所提取的卡与卡50交换。

重复直到只有1张牌,然后当卡1与卡1交换时,将选择次数重置为52。

重新开始,选择1-52卡,然后将卡换成#52,再换1-51,1-50 ......