2

すべてのディレクトリとファイルを特定の場所 (サンプル: /path/to/folder) の多次元配列に格納する必要があります。深さに関係なく、サブフォルダーも含める必要があります。

編集:

php scandirで試してみたところ、次の結果が得られました。

コード:

$dir    = '/path/to/folder';
$files = scandir($dir);
print_r($files);

結果 :

Array
(
    [0] => .
    [1] => ..
    [2] => folder1
    [3] => file1
    .....
)

必要なのは、folder1 内のコンテンツを取得し、すべてのファイルを含む完全なフォルダー構造が得られるまで継続的に実行することです。

PS:「。」を削除する必要があります。結果配列からの「..」も。

4

1 に答える 1

10

ファイルの一覧表示には、php でreaddirおよびscandir関数を提供します。

新しい(php 5>)ので、sccandirを好みました。これには、次の再帰関数を使用できます。

ディレクトリ パス (/path/to/your/folder) をパラメーターとして指定する必要があり、フォルダー構造を含む多次元配列が返されます。

function dirToArray($dir) {
    $result = array();
    $cdir = scandir($dir);
    foreach ($cdir as $key => $value) {
        if (!in_array($value,array(".","..")))  {
            if (is_dir($dir . DIRECTORY_SEPARATOR . $value)){
                $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value);
            } else {
                $result[] = $value;
            }
        }
    }
    return $result;
}
于 2013-08-15T11:10:54.773 に答える