ホームページ > バックエンド開発 > PHPチュートリアル > PHP でファイルとサブディレクトリを再帰的に一覧表示する方法

PHP でファイルとサブディレクトリを再帰的に一覧表示する方法

Mary-Kate Olsen
リリース: 2024-11-13 10:10:02
オリジナル
695 人が閲覧しました

How to Recursively List Files and Subdirectories in PHP?

PHP でファイルとサブディレクトリを再帰的にリストする

指定されたディレクトリ内のすべてのサブディレクトリ、ファイル、サブフォルダをリストするのは一般的なタスクです。 PHP では、これは scandir() 関数を使用して実現できます。

次のディレクトリ構造があるシナリオを考えてみましょう:

<br>Main Dir<br> Dir1<br> SubDir1<br> File1<br> File2<br> SubDir2<br> File3<br> File4<br> Dir2<br> SubDir3<br> File5<br> File6<br> SubDir4<br> File7<br> File8<br>

あなたの目的は、すべてのリストを取得することです。

解決策

PHP は、ls のようなシェル スクリプト コマンドと直接同等のものを提供しません。ただし、PHP 関数を使用して再帰リストを実装できます。以下にサンプル コード スニペットを示します。

function listFolderFiles($dir){
    $ffs = scandir($dir);

    unset($ffs[array_search('.', $ffs, true)]);
    unset($ffs[array_search('..', $ffs, true)]);

    if (count($ffs) < 1)
        return;

    echo '<ol>';
    foreach($ffs as $ff){
        echo '<li>'.$ff;
        if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
        echo '</li>';
    }
    echo '</ol>';
}
ログイン後にコピー

使用法

次に示すように、処理するディレクトリ パスを指定して listFolderFiles() 関数を呼び出します。

listFolderFiles('Main Dir');
ログイン後にコピー

この関数は、ファイルとディレクトリ構造を表す階層的に編成された HTML リストを出力します。サブディレクトリもそれに応じてリストされます。

以上がPHP でファイルとサブディレクトリを再帰的に一覧表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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