首頁 > 後端開發 > php教程 > 如何在 PHP 中檢索子目錄,排除根目錄和目錄遍歷指示符?

如何在 PHP 中檢索子目錄,排除根目錄和目錄遍歷指示符?

Linda Hamilton
發布: 2024-11-14 14:35:02
原創
982 人瀏覽過

How to Retrieve Subdirectories in PHP, Excluding Root and Directory Traversal Indicators?

使用PHP 檢索子目錄

在PHP 中,您可能會遇到需要存取特定目錄內的所有子目錄,不包括根目錄和目錄遍歷指標。以下是如何使用兩種不同的方法來實現此目的。

選項 1:利用 glob()

glob() 函數提供了一個列出檔案和目錄的簡單方法來匹配特定的模式。若要僅擷取子目錄,請將其與 GLOB_ONLYDIR 選項一起使用:

$subdirectories = glob('*/*', GLOB_ONLYDIR);
登入後複製

選項 2:使用 array_filter

array_filter 允許您根據回呼函數過濾數組數組。您可以使用它透過排除“.”來識別子目錄。和“..”並過濾glob() 結果:

function is_subdirectory($item) { return is_dir($item) && $item != '.' && $item != '..'; }
$subdirectories = array_filter(glob('*'), 'is_subdirectory');
登入後複製

在函數中的使用

一旦有了子目錄數組,就可以將它傳遞到函數進行進一步處理。例如,以下函數列印所有子目錄的路徑:

function print_subdirectory_paths($subdirectories) {
  foreach ($subdirectories as $subdirectory) {
    echo $subdirectory . PHP_EOL;
  }
}
登入後複製

以上是如何在 PHP 中檢索子目錄,排除根目錄和目錄遍歷指示符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板