使用 PHP 擷取目錄檔案名稱
在 PHP 中使用檔案系統時,通常需要取得目錄中的檔案名稱清單。雖然內建的 readdir 函數可用於此目的,但它有一定的限制。
遇到 readdir 的「1」問題:
在某些情況下,使用 readdir 可能會導致意外的輸出。例如,當嘗試檢索目錄中的檔案名稱時,下面的程式碼可能會產生一個充滿「1」的數組,而不是實際的檔案名稱:
if (is_dir($log_directory)) { if ($handle = opendir($log_directory)) { while($file = readdir($handle) !== FALSE) { $results_array[] = $file; } closedir($handle); } }
解決方案:使用glob作為檔案名稱檢索:
要克服此問題並取得所需的檔案名,建議使用glob 函數。 glob 將檔案路徑模式作為其參數,並傳回與該模式相符的檔案名稱陣列。
透過使用 glob,您可以使用下列語法輕鬆擷取目錄中的檔案名稱:
foreach(glob($log_directory.'/*.*') as $file) { ... }
在此範例中,$log_directory 表示要從中擷取檔案名稱的目錄路徑。 *.* 模式符合指定目錄中具有任何副檔名的所有檔案。
透過迭代 glob 傳回的數組,您可以存取檔案名稱並根據需要執行進一步的操作。
以上是如何在 PHP 中可靠地檢索目錄檔名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!