Список изображений из представленного имени каталога через HTML-форму - PullRequest
0 голосов
/ 31 марта 2012

Я искал ответы на эту функцию, которую я желаю, но что мне нужно, это несколько уникально?

У меня есть элемент ввода, я набираю имя подпапки, нажимаю "Отправить", и список имен изображений в этой указанной папке создается с помощью PHP или другого. Это местный, ничего особенного.

<form action="Make_List.php" method="post">
<input type=text name="location"/>
<input type=submit/>
</form>

<div id="List_Generated"> //desired output.
<span>A.jpg</span>
<span>B.jpg</span>
<span>C.jpg</span>
<span>D.png</span>
</div>

Я понятия не имею, что поместить в Make_List.php или даже если оно будет работать локально. Я нашел это онлайн:

//path to directory to scan
$directory = "../images/team/harry/" ( + sub-folder name );

//get all image files with a .jpg extension.
$images = glob($directory . "*.jpg");

//print each file name
foreach($images as $image)
{
echo $image;
}

Но Firefox не знает, что делать, он просит открыть или сохранить файл .php. Некоторые похожие вопросы по SO (локальная часть) подразумевают, что мне не нужен PHP для этого?

Любые советы или указатели будут полезны.

Ответы [ 4 ]

2 голосов
/ 31 марта 2012

PHP нуждается в серверной среде для обработки. Вы можете запустить сервер локально на своем компьютере. Google устанавливает apache + php. Если у вас есть хостинг, поддерживающий язык PHP, вы можете протестировать свой код там.

Ваш веб-браузер не запускает код PHP. Интерпретатор запускает сценарии, и они являются модулями для подключения интерпретатора PHP к http-серверу, то есть apache. Затем Apache запустит код и выдаст результаты, если ему будет поручено обработать .php с определенным модулем через его конфигурацию.

0 голосов
/ 31 марта 2012

Да, такого рода вещи могут быть выполнены, но с ограничениями:

  • Необходимо использовать HTML5 (тип документа и разметка).
  • Только Google Chrome (на данный момент)
  • Только область «песочницы» для конкретного приложения, а не ваша общая файловая система.

Реально, таким образом, вы ограничены своими компьютерами или в интрасети, где среда каждого компьютераконтролируется;не Интернет в целом.

Я не эксперт, но вот хорошее введение .Вам необходимо прочитать хотя бы вступление и раздел, озаглавленный «Чтение содержимого каталога».

0 голосов
/ 31 марта 2012

Вот лучший пример для работы с вами, не нужно вводить subdir:

<?php 
//Get subfolder list
$folders = glob('../images/team/harry/*',GLOB_ONLYDIR);
?>

<form action="" method="post">
<select name="location" onchange="javascript:this.form.submit()">
<option>-Choose Subdir-</option>
<?php
foreach($folders as $folder){
    echo '<option value="'.basename($folder).'">'.basename($folder).'</option>'.PHP_EOL;
}
?>
</select>
</form>

<?php
//List of files once post was submitted
if(isset($_POST['location'])){
    echo '<div id="List_Generated">';
    $files = glob('../images/team/harry/'.basename($_POST['location']).'/*.jpg');
    foreach($files as $file){
        echo '<span>'.basename($file).'</span>'.PHP_EOL;
    }
    echo '</div>';
}
?>
0 голосов
/ 31 марта 2012

Использование

//path to directory to scan 
$directory = "full/path/to/images/team/harry/" . $_POST['location'];

foreach (glob($directory."*.jpg") as $filename) {
    echo $filename;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...