0

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

图像只是哪个并不重要(即它不需要真正随机它可以在日期,图像大小,字母名称等上完成。)

图像是 .jpg、.jpeg、.png、.gif 的混合格式。

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

4

3 回答 3

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

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

 $image = $images[$selectedimage];
于 2013-03-03T20:32:23.170 回答
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)];
于 2013-03-03T20:39:29.157 回答
0

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

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

接下来抽一张牌 1-51。将抽到的卡与卡 51 交换。

抽一张牌 1-50 并将抽出的牌与牌 50 交换。

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

重新开始,选择卡片 1-52,然后将卡片与 #52 交换,然后是 1-51、1-50...

于 2013-03-03T21:10:41.370 回答