如何生成随机图像输出

时间:2013-10-09 15:07:01

标签: php

我有一些基本的PHP代码,当用户要求使用表单时从特定的图像文件夹中提取图像。 我将有许多图像文件夹,并希望生成随机图像而不是使用

case 'A' : echo "<a href=\"Alphabet-Letters/Letters-A\">
<img src=\"image/data/A/A_001.jpg\" id=\"A1\" width=\"70\" height=\"120\" title=\"A1\"/>           </a>" ; break;

我的问题是这个,因为表格是由某人使用字母A处理的,该字母的图片会出现。这个的PHP代码是

if (array_key_exists('check_submit', $_POST)) 
{


$letters = $_POST['Comments'];

$num_letters = strlen($letters);
for($i = 0; $i < $num_letters; $i++)
{
switch ($letters[$i])   {
case 'A' : echo "<a href=\"Alphabet-Letters/Letters-A\">
<img src=\"image/data/A/A_001.jpg\" id=\"A1\" width=\"70\" height=\"120\" title=\"A1\"      alt=\"Image A\"/>

</a>" ; 
break;

这只会提取我要求的确切图像,但我在该文件夹中有数百个,并希望使用更简单的代码。 请有人帮忙,他们建议使用文件夹中的随机图像,但这只是作为一个起点而不是我已有的代码。 谢谢你的时间

4 个答案:

答案 0 :(得分:0)

在下面的链接中发布的解决方案应该可以实现您正在寻找的功能。 https://stackoverflow.com/a/4478788/1152375

所以你应该可以做类似

的事情
case 'A' : echo "<a href=\"Alphabet-Letters/Letters-A\">
<img src=\"image/data/A/" . random_pic("folder_with_pics") . "\" id=\"A1\" width=\"70\" height=\"120\" title=\"A1\</a>"; 
break;

答案 1 :(得分:0)

在获得输出代码之前,您需要获取编号数组中相关目录(http://php.net/manual/en/function.dir.php)中所有文件的列表。

计算数组中的项目数(http://php.net/manual/en/function.count.php),然后使用rand的最小和最大设置随机选择一个(http://php.net/manual/en/function.rand.php)。

答案 2 :(得分:0)

尝试使用scandir函数查找文件夹中的所有文件,然后使用rand函数随机选择一个:

if(!empty($_POST['check_submit'])) 
{

  $letters = strtoupper(trim($_POST['Comments']));
  $num_letters = strlen($letters);
  for($i = 0; $i < $num_letters; $i++)
  {
    $letter = $letters[$i];
    $folder = 'image/data/'.$letter;
    $files = scandir($folder);
    array_shift($files);
    array_shift($files);
    $index = rand(0, count($files) - 1);
    $file = $files[$index];

    echo "<a href=\"Alphabet-Letters/Letters-{$letter}\">\n";
    echo "<img src=\"image/data/{$letter}/{$file}\" id=\"{$letter}{$index}\" width=\"70\" height=\"120\" title=\"{$letter}{$index}\" alt=\"Image {$letter}\"/>\n";
    echo "</a>\n";     
  }

}

答案 3 :(得分:0)

使用@Buchow_php和反复试验找到答案。

 for ($i=0; $i<$num_letters; $i++)
{
$image_num = '$image'.$i;


echo "<input type=\"hidden\" name=\"option[$image_num]\" value=\"$skus[$i]\" />";

}

与之前的代码一起,现在它将所有图像文件放入一个数组中,以便发布到我的提交