chriss_2oo4
Erfahrenes Mitglied
Hi,
ich habe eine Funktion, die mir den Inhalt eines Verzeichnisses rekursiv dursucht und die Struktur in einem Array speichert. Diese Funktion funktioniert auch super, leider ist das zurückgegebene Array leer (count 0). Zum Test habe ich eine foreach-schleife in die funktion eingebaut, dort wird die struktur auch wunderbar ausgegeben.
Rufe ich die Funktion wie folgt aus und durchlaufe das Array, wird nichts angezeigt weil das Array leer ist.
Warum funktioniert das nicht?
Beste Grüße
Chriss
ich habe eine Funktion, die mir den Inhalt eines Verzeichnisses rekursiv dursucht und die Struktur in einem Array speichert. Diese Funktion funktioniert auch super, leider ist das zurückgegebene Array leer (count 0). Zum Test habe ich eine foreach-schleife in die funktion eingebaut, dort wird die struktur auch wunderbar ausgegeben.
Code:
function dir_rekursiv($a_verzeichnis) {
if( substr($a_verzeichnis, -1) != '/') {
$a_verzeichnis = $a_verzeichnis.'/';
}
if(!is_dir($a_verzeichnis)) {
return false;
}
$m_struktur = array();
$handle = opendir($a_verzeichnis);
while ($datei = readdir($handle)) {
if ($datei != "." && $datei != "..") {
if (is_dir($a_verzeichnis.$datei)) {
dir_rekursiv($a_verzeichnis.$datei.'/');
}
else {
$m_struktur[] = $a_verzeichnis.$datei;
//echo $a_verzeichnis.$datei.'<br />';
}
}
}
closedir($handle);
foreach ($m_struktur as $value) {
echo $value."<br />";
}
return $m_struktur;
}
Rufe ich die Funktion wie folgt aus und durchlaufe das Array, wird nichts angezeigt weil das Array leer ist.
Code:
$test = dir_rekursiv('Teststruktur');
if($test) {
foreach ($test as $value) {
echo $value."<br />";
}
}
else {
echo "Verzeichnis existiert nicht!";
}
Warum funktioniert das nicht?
Beste Grüße
Chriss