プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
PHP、ディレクトリ内のファイル一覧を取得する
ちょっくら、ディレクトリにあるファイルの一覧を画面上に表示……と言いましょうか、
画像の入ったディレクトリがあって、そのディレクトリの中の画像を一気にHTML上に表示したくてですね。

ディレクトリの中のファイル一覧を取得する方法を探してみました。

ふむふむ(--)
glob()を使えばさくっといけるのか。

できあがったのがこんなんφ(--)

<?php
    //-----------------
    // ファイル一覧取得関数
    //-----------------
    function getFileList($target) {
        $list = array();

        //対象ディレクトリのファイル一覧を取得
        foreach(glob($target . '*', GLOB_BRACE) as $val){
            $list[] = $val;
        }

        return $list;
    }

    //-----------------
    // 主処理
    //-----------------
    $target = './';    //取得対象ディレクトリ

    //一覧取得
    $list = getFileList($target);

    //表示
    foreach($list as $val){
        echo $val . '<br>';
    }
?>

あー、でもこれだとファイルとディレクトリの違いが分かりにくいなーと思ったので、
こんな風に作り替えφ(--)

<?php
    //-----------------
    // ファイル一覧取得関数
    //-----------------
    function getFileList($target) {
        $list = array();
        $listFile = array();
        $listDir = array();

        //ディレクトリ一覧を取得
        foreach(glob($target . '*/', GLOB_ONLYDIR) as $val){
            $listDir[] = $val;
        }


        //ファイル一覧を取得
        foreach(glob($target . '{*.*}', GLOB_BRACE) as $val2){
            $listFile[] = $val2;
        }

        $list['dir'] = $listDir;
        $list['file'] = $listFile;


        return $list;
    }

    //-----------------
    // 主処理
    //-----------------
    $target = './';    //取得対象ディレクトリ

    //一覧取得
    $list = getFileList($target);

    //表示
    echo "■ディレクトリ<br>";
    foreach($list['dir'] as $val){
        echo $val . '<br>';
    }


    echo "■ファイル<br>";
    foreach($list['file'] as $val){
        echo $val . '<br>';
    }
?>

あー、せっかくだからサブディレクトリの中の一覧も
一発で再帰的に取れるようにするかーと思ったら、
これは以前にやっていたみたいです(--ゞ

というわけで、再帰的な一覧取得はこちらの記事をご覧くださいφ(--)

PHP、指定フォルダ内のファイルリストを再帰的に取得

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● PHP  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事