PHP 中尋找排除檔案和特殊目錄的子目錄
在Web 開發場景中,只擷取指定目錄中的子目錄,不包含常見的雜亂內容,如常規文件、目前目錄或父目錄成為常見要求。本文深入探討了在 PHP 中完成此任務的實用方法。
將 Glob() 與 GLOB_ONLYDIR 選項結合使用:
glob() 函數提供了一種便捷的搜尋方法匹配給定模式的路徑名。要取得所有子目錄,我們可以將 glob() 與 GLOB_ONLYDIR 選項結合。此選項可確保僅返回目錄,消除檔案、「.」和「..」。
$sub_directories = glob('./path/to/directory/*', GLOB_ONLYDIR); foreach ($sub_directories as $directory) { // Use each directory in a function }
將Array_filter 與is_dir 函數結合使用:
另一個方法涉及使用array_filter() 過濾目錄中所有項目的列表,包括「.」、 “..”以及文件和目錄。以下程式碼示範了這一點:
$items = scandir('./path/to/directory'); $directories = array_filter($items, 'is_dir'); foreach ($directories as $directory) { // Exclude "." and ".." using ternary operators if ($directory != '.' && $directory != '..') { // Use each directory in a function } }
請注意,提供的函數 array_filter(glob('*'), 'is_dir') 會過濾目錄,無論其名稱為何。但是,如果有任何名稱中帶有句點的子目錄(例如“.config”),它們將被跳過。
以上是如何在PHP中尋找不包含檔案和特殊目錄的子目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!