ホームページ > バックエンド開発 > PHPチュートリアル > PHP を使用してディレクトリを再帰的に探索し、すべてのファイルとフォルダーのパスを取得するにはどうすればよいですか?

PHP を使用してディレクトリを再帰的に探索し、すべてのファイルとフォルダーのパスを取得するにはどうすればよいですか?

DDD
リリース: 2024-12-15 06:46:15
オリジナル
246 人が閲覧しました

How Can I Recursively Walk a Directory and Get All File and Folder Paths Using PHP?

PHP 関数を使用してディレクトリを再帰的に探索する

ディレクトリとそのサブディレクトリを走査する必要がある場合は、そこに含まれるすべてのファイルとフォルダーを検索しますこの中で、タスクを処理するための再帰的な PHP 関数を作成できます。

再帰関数の実装

function getDirContents($dir, &$results = array()) {
    $files = scandir($dir);

    foreach ($files as $key => $value) {
        $path = realpath($dir . DIRECTORY_SEPARATOR . $value);
        if (!is_dir($path)) {
            $results[] = $path;
        } else if ($value != "." && $value != "..") {
            getDirContents($path, $results);
            $results[] = $path;
        }
    }

    return $results;
}
ログイン後にコピー

使用法

次のように関数を呼び出します:

$results = getDirContents('/xampp/htdocs/WORK');
var_dump($results);
ログイン後にコピー

例出力

この関数は、サブディレクトリを含む、指定されたディレクトリ内のすべてのファイルとフォルダーへのパスを含む配列を返します。たとえば、ディレクトリ /xampp/htdocs/WORK の場合、出力は次のようになります:

array (size=12)
  0 => string '/xampp/htdocs/WORK/iframe.html' (length=30)
  1 => string '/xampp/htdocs/WORK/index.html' (length=29)
  2 => string '/xampp/htdocs/WORK/js' (length=21)
  3 => string '/xampp/htdocs/WORK/js/btwn.js' (length=29)
  4 => string '/xampp/htdocs/WORK/js/qunit' (length=27)
  5 => string '/xampp/htdocs/WORK/js/qunit/qunit.css' (length=37)
  6 => string '/xampp/htdocs/WORK/js/qunit/qunit.js' (length=36)
  7 => string '/xampp/htdocs/WORK/js/unit-test.js' (length=34)
  8 => string '/xampp/htdocs/WORK/xxxxx.js' (length=30)
  9 => string '/xampp/htdocs/WORK/plane.png' (length=28)
  10 => string '/xampp/htdocs/WORK/qunit.html' (length=29)
  11 => string '/xampp/htdocs/WORK/styles.less' (length=30)
ログイン後にコピー

以上がPHP を使用してディレクトリを再帰的に探索し、すべてのファイルとフォルダーのパスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート