2017-03-22 204 views
-1

我們在每個文件夾中都有一個包含pdf文檔的文件夾結構。文件夾和內容每天都在變化,而且數量太多,無法簡單列出。我們希望爲用戶提供輸入文件夾名稱的能力,並因此獲得搜索文件夾中pdf文件的超鏈接列表。使用php:根據用戶的輸入和顯示內容搜索文件夾

我們已經去過glob(),可以顯示特定文件夾的tge內容,但無法弄清楚如何搜索用戶輸入的文件夾。

任何指針非常讚賞。

回答

0

我認爲最好的辦法是:

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> 
+0

您好,感謝您的幫助。我不明白第二步。我們不想呈現用戶點擊的子目錄列表。如果用戶在搜索框中輸入A,我們希望顯示文件夾A的內容,與B,C,D等相同 –

+0

@AnjamSohail更容易,因此= =

\t \t
使用輸入創建表單。當用戶寫東西時,javascript會生成鏈接到頁面,如$ _GET ['folder'] =文件夾名稱。 所以你只需要把這個GET參數添加到目錄路徑中即可。 – KeyBi

相關問題