Перечисление файлов каталога с помощью php - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть сценарий, который перечисляет все файлы из папки изображений на сервере в раскрывающемся списке.

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

Я пытался использовать файл verable, но он показывает только последнее изображение в каталоге.Как мне исправить это?

Ответы [ 2 ]

1 голос
/ 03 декабря 2011

Вы должны будете сделать это с помощью Javascript.Как только скрипт php загружается, он не знает, что происходит в окне пользователя.Вы захотите создать прослушиватель событий для onChange даже вашей группы опций.И когда выбор изменится, вы захотите заменить src тега изображения, используемого для предварительного просмотра.

Я бы настоятельно рекомендовал использовать JS-библиотеку, такую ​​как Jquery или simliar, чтобы помочь с прослушиванием событий,и дом манипуляций.

0 голосов
/ 03 декабря 2011

Если вы имеете в виду делать это при загрузке формы, я бы сказал, заменить

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...