2012-05-30 95 views
0

我需要爲我正在工作的網站製作下拉菜單,並且在該下拉列表中我想列出目錄中的所有文件,但由於缺乏Web開發知識,我正在努力工作很少能夠弄清楚。下拉菜單列表文件夾

任何幫助將不勝感激!

編輯

<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

看看PHP的scandir功能。循環播放結果並回顯您的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

是的,我工作了很多今天學到了很多,我來自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()來電。有很多不同的方法可以做到這一點,它可以歸結爲您的具體需求。