0

我有一些基本的 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

4 回答 4

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;
于 2013-10-09T15:24:26.407 回答
0

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

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

于 2013-10-09T15:25:29.963 回答
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";     
  }

}
于 2013-10-09T15:29:07.000 回答
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]\" />";

}

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

于 2013-10-26T18:28:01.390 回答