我有一个脚本,它会将服务器上图像文件夹中的所有文件列入下拉框。
$dir='images';
$list=scandir($dir);
if(isset($_POST['submit'])) echo 'Selected: ' . $_POST['image'];
foreach($list as $file)
{
//ignore . (current dir) and .. (parent dir)
if($file!=='.'&&$file!=='..')
{
echo "<option value=\"$file\"";
if(isset($_POST['submit'])&&$_POST['image']==$file) echo 'selected="selected"';
echo ">$file</option>";
}
}
我想要做的是选择图像的文件名时显示图像。
echo "<img src='images/". $file ."' />";
我尝试使用文件可处理但它只接缝显示目录中的最后一个图像。我该如何解决这个问题。
答案 0 :(得分:1)
您必须使用Javascript执行此操作。加载php脚本后,无法知道用户窗口中发生了什么。您将希望为onChange甚至您的选项组创建一个事件监听器。当选择更改时,您将需要替换用于显示预览的图像标记的src。
我强烈建议使用Jquery或simliar等JS库来帮助事件监听和dom操作。
答案 1 :(得分:0)
如果你的意思是在表单加载上这样做,我会说替换
if(isset($_POST['submit'])&&$_POST['image']==$file) echo 'selected="selected"';
与
if(isset($_POST['submit'])&&$_POST['image']==$file)
{
echo 'selected="selected"';
$selected_file = $file;
}
然后改为
echo "<img src='images/". $selected_file ."' />";
因为此刻,它只会加载foreach