2012-05-30 3 views
0

Мне нужно создать выпадающее меню для веб-сайта, над которым я работаю, и в этом выпадающем списке я бы хотел перечислить все файлы в каталоге, но из-за отсутствия знаний о веб-разработке я боюсь мало, чтобы понять это.Папки списка раскрывающегося меню

Любая помощь была бы принята с благодарностью!

EDIT

<form> 
<select name="menu"> 
<option value="http://www.msn.com/">MSN</option> 
<option value="http://www.google.com/">Google</option> 
</select> 
<input type="button" onClick="location=this.form.menu.options[this.form.menu.selectedIndex].value;" value="GO"> 
</form> 

Это о том, насколько я знаю, как сделать выпадающее меню

+0

http://www.lateralcode.com/directory-trees-with-php-and-jquery/ – magicianiam

+0

Сообщите нам, что вы уже пробовали, и конкретно, что не работает. – Joel

+1

У вас есть соответствующая разметка для публикации с вашим вопросом? И что вы используете, чтобы представить падение? т. е. 'jQuery' – Zuul

ответ

5

Посмотрите на scandir функции PHP. Прокрутите результат и эхо-код HTML, один тег <option> за цикл.

Что-то вроде этого:

echo "<select name='files'>"; 
$files = array_map("htmlspecialchars", scandir("path/to/your/files")); 
foreach ($files as $file) 
    echo "<option value='$file'>$file</option>"; 
echo "</select>"; 
+0

Работал отлично многому научился, а также не знал, что могу просто эхо php в html, как это (я очень новичок в веб-разработке) спасибо тонну! – user577732

+0

@ user577732: Да, нужно иметь в виду, что PHP выполняет серверную часть. Это означает, что PHP полностью выполняется, прежде чем ваш браузер получит какой-либо текст вообще. HTML и Javascript интерпретируются на стороне клиента. Таким образом, вы можете использовать PHP для генерации Javascript и HTML-кода. Как только вы поймете эту концепцию, идеи о том, что вы можете и чего не можете сделать, станут для вас намного яснее. – Travesty3

+0

да, я много работал с php, сегодня многому научился, я родом из java, и я нахожу много сходства между java и php, так что обучение довольно быстро – user577732

0

Вы могли бы сделать что-то вроде этого:

<select> 
<?php 
    $source_dir = '/var/www/whatever'; 
    $dir_handle = opendir($source_dir); 
    foreach (glob('*', GLOB_ONLYDIR) as $dir_name) { 
?> 
    <option value="<?= htmlentities($dir_name) ?>"> 
    <?= htmlentities($dir_name) ?> 
    </option> 
<?php } ?> 
</select> 

Если вы хотите, чтобы сортировать, фильтровать, или любой другой, просто манипулировать массив, возвращаемый glob() однако вы хотите , Кроме того, вы можете использовать вызовы readdir(), а затем вызовы is_dir(). Есть несколько способов сделать это, это просто сводится к вашим конкретным потребностям.

Смежные вопросы