このエントリーをはてなブックマークに追加

更新日: 2016年2月25日

実行時間: 0.0077

ディレクトリヘルパー

 ディレクトリヘルパーは「 system/helper/directory_helper.php 」ファイルで、ディレクトリ内のファイルを再帰的に 検索してファイルの一覧をツリー構造の配列で返す関数が定義されています。

ディレクトリヘルパーのロード

 「 CI_Loader 」クラスの「 helper() 」メソッドでロードします。

    $this->load->helper('directory');

ディレクトリヘルパーの関数

directory_map($source_dir, $directory_depth = 0, $hidden = FALSE)

 第一引数に、ファイル一覧を取得する対象のディレクトリパスを指定します。
ディレクトリパスは、ドキュメントルートからの相対パスか絶対パスで指定します。

    $this->load->helper('directory');

    $dir_map = directory_map('../data');
    print_r( $dir_map );
    /*
    Array (
        [foo] => Array (
            [0] => bbb.txt
            [1] => ccc.txt
            [bar] => Array (
                [0] => ddd.txt
            )
        )
        [0] => aaa.txt
        [hoge] => Array ( )
    )
    */

 第二引数には、再帰定期に検索するディレクトリ階層の深さを指定します。
0 」を指定すると無制限に検索します。デフォルトは「 0 」です。

    $this->load->helper('directory');

    $dir_map = directory_map('../data', 1);
    print_r( $dir_map );
    /*
    Array (
        [0] => foo
        [1] => aaa.txt
        [2] => hoge
    )
    */

 第三引数に「 TRUE 」を指定すると、ファイル名が「 . 」(ドット)で始まる隠しファイル も取得します。

    $this->load->helper('directory');

    $dir_map = directory_map('../data', 0, TRUE);
    print_r( $dir_map );
    /*
    Array (
        [foo] => Array (
            [0] => bbb.txt
            [1] => ccc.txt
            [bar] => Array (
                [0] => ddd.txt
            )
        )
        [0] => aaa.txt
        [hoge] => Array (
            [0] => .hidden.file
        )
    )
    */