使用php列出目录文件


Listing Directory files with php

我有一个脚本,它将列出所有文件从服务器上的图像文件夹到一个下拉框。

$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 ."' />";

我尝试使用文件表,但它只能显示目录中的最后一个图像。

您必须使用Javascript完成此操作。一旦php脚本加载,它没有人知道发生了什么在用户窗口。您将需要为选项组的onChange even创建一个事件侦听器。当选择改变时,你会想要替换用于显示预览的图像标签的src。

我强烈建议使用JS库,如Jquery或类似的来帮助进行事件监听和dom操作。

如果你的意思是在表单加载上这样做,我会说替换

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

中最后出现的那个