首頁 >後端開發 >php教程 >如何在PHP中尋找不包含檔案和特殊目錄的子目錄?

如何在PHP中尋找不包含檔案和特殊目錄的子目錄?

Patricia Arquette
Patricia Arquette原創
2024-11-13 10:42:02431瀏覽

How to Find Subdirectories Excluding Files and Special Directories in PHP?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn