1

ディレクトリ内のすべてのファイルを一覧表示したいwallpaper/。このディレクトリ内には、主にアンジェリーナ・ジュリーなどの有名人の名前である 1000 以上のフォルダーがあり、そのフォルダー内にはその有名人のいくつかの画像があります。

のような合計パスですべてのファイルを一覧表示したいhttp://xyz.com/wallpaper/angelina joulie/angeli1243.jpg

私は試しscandir() readdir() glob()ましたが、すべて現在のディレクトリのみをリストします。

特定のディレクトリのサブディレクトリを含むすべてのファイルのフルパスを一覧表示する方法を教えてください

4

2 に答える 2

0

再帰関数が必要です。これは、テストされて正しく機能しているサンプル関数です。

function recursiveReaddir($folderPath = '.')
{
    $ignore = array('cgi-bin', '.', '..');
    $handle = @opendir($folderPath);
    while (false !== ($file = readdir($handle))) {

        if (!in_array($file, $ignore)) {
            if (is_dir("$folderPath/$file")) {
                $return[$file] = recursiveReaddir("$folderPath/$file");
            } else {
                $return [] = $file;
            }
        }
    }

    closedir($handle);
    return $return;
}
$rez = recursiveReaddir('path/to/file');
print_r($rez);
于 2013-02-01T08:01:28.390 に答える
0

2 レベルだけ入る必要がある場合は、はるかに簡単に使用できますglob()

glob("wallpaper/*/*")

直下のすべてのディレクトリを走査しますwallpaper/

于 2013-02-02T15:31:24.053 に答える