我有一些基本的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;
这只会提取我要求的确切图像,但我在该文件夹中有数百个,并希望使用更简单的代码。 请有人帮忙,他们建议使用文件夹中的随机图像,但这只是作为一个起点而不是我已有的代码。 谢谢你的时间
答案 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]\" />";
}
与之前的代码一起,现在它将所有图像文件放入一个数组中,以便发布到我的提交