Ich habe ein Script gefunden, das Verzeichnisse und Dateien rekursiv ausgibt. Nun wollte ich alle diese Verzeichnisse und Dateien in ein Array einlesen um die Ausgabe zu sortieren.
Also lese ich alles, was der Dateihandler findet in Array b[] ein uns ab Ende der Funktion nehme ich die sort Funktion um b zu sortieren.
Dann gebe ich außerhalb der Funktion das Array aus und was passiert?
Es werden nur die Dateien und Verzeichnisse ausgegeben, die im Ursprungsverzeichnis gefunden wurden.
Kann sich das einer erklären, da ich doch eigentlich vor jedem rekursiven Aufruf die Variable $files in das b[]-Array einlese.
Vielen Dank.
Andreas
Also lese ich alles, was der Dateihandler findet in Array b[] ein uns ab Ende der Funktion nehme ich die sort Funktion um b zu sortieren.
Dann gebe ich außerhalb der Funktion das Array aus und was passiert?
Es werden nur die Dateien und Verzeichnisse ausgegeben, die im Ursprungsverzeichnis gefunden wurden.
Kann sich das einer erklären, da ich doch eigentlich vor jedem rekursiven Aufruf die Variable $files in das b[]-Array einlese.
PHP:
<?php
function rec_dir($dir){
$handle = @opendir($dir);
while($file=@readdir($handle)){
if(eregi("^\.{1,2}$",$file)){
continue;
}
if(is_dir($dir.$file)){
echo "<b>$file</b><br>\n";
$b[]=$file;
rec_dir($dir.$file."/");
}else{
if(is_dir($file)){
$b[]=$file;
rec_dir($file);
}else{
echo "<i>$file</i><br>\n";
$b[]=$file;
}
}
}
return sort($b);
}
@closedir($handle);
$dew = rec_dir("/srv/www/htdocs/");
foreach($dew as $a=>$datei){
echo $datei."<br>";
}
?>
Vielen Dank.
Andreas