Ahoi,
ich beziehe mich auf das Kapitel "Rekursive Verzeichnisauflistung" im PHP Kochbuch
Ein Verzeichnis pf/ soll rekursiv durchsucht, alle Bilddateien mit Pfadangabe in ein Array geschrieben und dieses Array dann strukturiert ausgegeben werden.
Soweit funkioniert dies mit dem Skript aus dem Kochbuch auch wunderbar.
Code:
<?PHP
function buildArray($dir,$file,$onlyDir,$type,$allFiles,$bilder)
{
$typeFormat = FALSE;
foreach ($type as $item)
{
if (strtolower($item) == substr(strtolower($file), -strlen($item)))
$typeFormat = TRUE;
}
if($allFiles || $typeFormat == TRUE)
{
if(empty($onlyDir))
$onlyDir = substr($dir, -strlen($dir), -1);
$bilder[$dir]['name']['dir'] = $onlyDir;
$bilder[$dir]['name']['path'] = $dir;
$bilder[$dir][$file]['file'] = $file;
}
return $bilder;
}
function scan_dir($dir, $type=array(),$only=FALSE, $allFiles=FALSE, $recursive=TRUE, $onlyDir="", &$bilder)
{
$handle = @opendir($dir);
if(!$handle)
return false;
while ($file = @readdir ($handle))
{
if (eregi("^\.{1,2}$",$file))
{
continue;
}
if(!$recursive && $dir != $dir.$file."/")
{
if(is_dir($dir.$file))
continue;
}
if(is_dir($dir.$file))
{
scan_dir($dir.$file."/", $type, $only, $allFiles, $recursive, $file, $bilder);
}
else
{
if($only)
$onlyDir = $dir;
$bilder = buildArray($dir,$file,$onlyDir,$type,$allFiles,$bilder);
}
}
@closedir($handle);
return $bilder;
}
?>
Das Ergebnis zeigt struktur1.png
Nun möchte ich aber, dass die Verzeichnisse pf/01,pf/02,pf/03 usw. mit allen Unterverzeichnissen in eben dieser Reihenfolge erscheinen, also so:
pf/01/01
pf/01/02
pf/01/03
pf/02/01
pf/02/02
pf/03/01
usw.
Wie erreiche ich das?