Verzeichnis rekursiv mit PHP auslesen

Diese Methode durchläuft mit Hilfe des DirectoryIterators rekursiv das angegebene Verzeichnis und gibt die Struktur in Form eines Arrays zurück.

Code:

function iterateDir($sPath)
{
    $aRes = array();
    foreach(new DirectoryIterator($sPath) as $oItem)
    {
        if($oItem->isDir())
        {
            (!$oItem->isDot() ? $aRes[$oItem->getFilename()] = iterateDir($oItem->getPathname()):0);
            continue;
        }
        $aRes[] = $oItem->getFilename();
    } return $aRes;
}

Anwendungsbeispiel:

print_r(iterateDir('./test_dir'));

/*
 * Ausgabe:
Array
(
    [test] => Array
        (
        )

    [0] => test_file.txt
    [test_sub_dir] => Array
        (
            [0] => testfile1.txt
            [1] => testfile2.txt
            [test_sub_sub_dir] => Array
                (
                    [0] => testfile.txt
                )

        )

)
*/

Schreibe einen Kommentar