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;
}
{
$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;
}