我們在每個文件夾中都有一個包含pdf文檔的文件夾結構。文件夾和內容每天都在變化,而且數量太多,無法簡單列出。我們希望爲用戶提供輸入文件夾名稱的能力,並因此獲得搜索文件夾中pdf文件的超鏈接列表。使用php:根據用戶的輸入和顯示內容搜索文件夾
我們已經去過glob(),可以顯示特定文件夾的tge內容,但無法弄清楚如何搜索用戶輸入的文件夾。
任何指針非常讚賞。
我們在每個文件夾中都有一個包含pdf文檔的文件夾結構。文件夾和內容每天都在變化,而且數量太多,無法簡單列出。我們希望爲用戶提供輸入文件夾名稱的能力,並因此獲得搜索文件夾中pdf文件的超鏈接列表。使用php:根據用戶的輸入和顯示內容搜索文件夾
我們已經去過glob(),可以顯示特定文件夾的tge內容,但無法弄清楚如何搜索用戶輸入的文件夾。
任何指針非常讚賞。
我認爲最好的辦法是:
1 - 創建一個PHP頁面,您將與AJAX訪問,用戶得到幫助打字文件夾的名稱。 就像這個例子用的名字: https://www.w3schools.com/php/php_ajax_php.asp
2 - 然後,我們將創建一個SCANDIR功能,這將讓所有的子目錄,並把它添加到陣列,將被歸還給用戶,並鏈接到它。
3 - 在用戶單擊(選擇目錄)時,您將傳遞將保存文件夾名稱的$ _GET或$ _POST參數。
4 - 然後,你需要編寫的代碼爲:
$ PATH = DIR。 「目錄/」 。 $ _GET [ 'FOLDER_NAME'];
5 - 使用$ path var到您的glob中,打開文件夾並列出其中的所有項目。
不要忘記將if/else語句,以檢查是否存在這個文件夾和用戶是在正確的文件夾,否則將其發送到錯誤的網頁...讓安全網站= d
希望它幫助=)
我將在這裏添加的註釋代碼,以方便查看= d
<form method="get" action="" id="link">
<input type="text" onkeyup="generate_link(this.value)">
<input type="submit">
</form>
<script>
function generate_link(value) {
var form = document.getElementById('link');
form.action = "index.php?folder=" + value;
}
</script>
您好,感謝您的幫助。我不明白第二步。我們不想呈現用戶點擊的子目錄列表。如果用戶在搜索框中輸入A,我們希望顯示文件夾A的內容,與B,C,D等相同 –
@AnjamSohail更容易,因此= =
使用輸入創建表單。當用戶寫東西時,javascript會生成鏈接到頁面,如$ _GET ['folder'] =文件夾名稱。 所以你只需要把這個GET參數添加到目錄路徑中即可。 – KeyBi