在 PHP 中從目錄擷取檔案名稱
在 PHP 中,取得目錄中的檔案名稱可能是一項簡單的任務。但是,您可能會遇到一個問題,即您提供的程式碼返回“1”而不是檔案名稱。
讓我們深入研究程式碼:
if (is_dir($log_directory)) { if ($handle = opendir($log_directory)) { while($file = readdir($handle) !== FALSE) { $results_array[] = $file; } closedir($handle); } }
在此程式碼中,您正在嘗試使用 opendir() 和 readdir() 從目錄中讀取檔案。雖然這種方法在許多情況下都有效,但它可能不會總是正確顯示檔案名稱。
解決方案:利用 glob() 進行檔案擷取
而不是使用 opendir( ) 和 readdir(),請考慮利用 glob() 函數。它提供了一種更有效的方法來檢索目錄中的檔案清單:
foreach(glob($log_directory.'/*.*') as $file) { ... }
在此程式碼中,glob() 將在$log_directory 中搜尋具有任何檔案副檔名(*.*)的所有文件。它傳回一個包含找到的檔案的完整路徑的陣列。
透過迭代從 glob() 獲得的數組,您可以存取每個檔案的完整路徑,包括其名稱。此方法消除了取得「1」作為檔案名稱的問題,為您提供目錄中的實際檔案名稱。
以上是為什麼我的 PHP 目錄清單回傳「1」而不是檔名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!