Ich habe folgende Funktion, um alle Dateien (inklusive Unterverzeichnis) einzulesen in ein mehrdimensionales Array. Folgende Ordnerstruktur:
./
Quellcode:
./
datenschutz.php
impressum.php
undandere
bilder/
Doch in meinem Array ist am Ende immer nur das Hauptverzeichnis gespeichert, obwohl die anderen zwischenzeitlich auch eingelesen werden, denke mal, dass das irgendwas mit der rekursiven Funktion zu tun hat, da kenne ich mich nicht so gut mit aus. (Anfänger)impressum.php
undandere
bilder/
banner.png
undandere
undandere
Quellcode:
PHP-Code:
function listPicture ($dir, $type="", $recursive=TRUE)
{
$handle = opendir($dir);
if ( !$handle )
die ("fehler");
else
echo "Ordner $dir geöffnet <br />";
while ( FALSE !== ( $file = readdir($handle) ) )
{
if (preg_match("#^\.{1,2}$#",$file))
{
continue;
}
if ( is_dir($dir."/".$file) )
{
if ( 1 )
{
$newDir = $dir."/".$file;
listPicture($newDir, $type, $recursive);
}
}
elseif ( is_file($dir."/".$file) )
{
if ( !empty($type) )
{
foreach ( $type as $typ)
{
if ( substr($file, -strlen($typ)) == $typ )
{
$picture[$dir]['name'][] = $file;
continue;
}
}
}
else
$picture["$dir"]['name'][] = $file;
}
}
/*echo '<pre>';
print_r($picture);
echo '</pre>'; */
return $picture;
@closedir($handle);
}
Kommentar