ホームページ >バックエンド開発 >PHPチュートリアル >PHP でルートとディレクトリ トラバーサル インジケーターを除いてサブディレクトリを取得する方法
PHP を使用したサブディレクトリの取得
PHP では、ルートとディレクトリのトラバーサルを除く、特定のディレクトリ内のすべてのサブディレクトリにアクセスする必要が生じる場合があります。インジケーター。 2 つの異なるアプローチを使用してこれを実現する方法を次に示します。
オプション 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 中国語 Web サイトの他の関連記事を参照してください。