Hallo zusammen,
ich möchte den gesamten Inhalt eines FTP-Verzeichnisses auslesen und ausgeben lassen.
Das funktioniert soweit auch.
Nur eine Sache nicht so ganz.
Und zwar wird beim ersten auflisten der Ordner (vom Root-Verzeichnis) ein Ordner einfach übersprungen.
Ausgegeben wird:
Dateien in / :
test.php
Ordner in / :
changes
Dateien in /changes :
/changes/1.0.txt
/changes/1.0.txt.LCK
Ordner in /changes :
releases
...
Die eigentliche Struktur wäre aber:
Root
/changes
/releases
Hier ist der Code für die Funktion:
Was habe ich falsch gemacht ?
Danke schon mal im Vorraus
MfG
ich möchte den gesamten Inhalt eines FTP-Verzeichnisses auslesen und ausgeben lassen.
Das funktioniert soweit auch.
Nur eine Sache nicht so ganz.
Und zwar wird beim ersten auflisten der Ordner (vom Root-Verzeichnis) ein Ordner einfach übersprungen.
Ausgegeben wird:
Dateien in / :
test.php
Ordner in / :
changes
Dateien in /changes :
/changes/1.0.txt
/changes/1.0.txt.LCK
Ordner in /changes :
releases
...
Die eigentliche Struktur wäre aber:
Root
/changes
/releases
Hier ist der Code für die Funktion:
PHP-Code:
function get_rlist($dir)
{
// Variablen löschen
unset($list);
unset($files);
unset($folders);
unset($folder);
unset($file);
@ftp_chdir($this->conn_id, $dir);
// $dir = aktuelles Verzeichnis
$dir = ftp_pwd($this->conn_id);
$list=Array();
$list=ftp_nlist($this->conn_id, "$dir");
$files = Array();
$folders = Array();
for($i = 0; $i != sizeof($list); $i++) {
$entry = str_replace("//", "", $list[$i]);
if(@ftp_chdir($this->conn_id, $entry)) {
$folders[] = $entry;
ftp_chdir($this->conn_id, $dir);
}
else {
$files[] = $entry;
}
}
print "\t<b> Dateien in ".$dir." :</b><br>";
foreach($files as $file) {
print $file."<br>";
}
print "\t<br><b>Ordner in ".$dir." :</b><br>";
foreach ($folders as $folder) {
print "\t".$folder."<br>";
ftp_chdir($this->conn_id, $dir);
print "<br>";
$this->get_rlist($folder);
}
}
Was habe ich falsch gemacht ?
Danke schon mal im Vorraus
MfG
Kommentar