PHP: ftp-Verbindung
-
Hi,
spiel mich grad a bissl mit ftp-Verbindungen und PHP:
folgendes:
ich lass mir mit$fileList = ftp_nlist ( $this->ftpStream,$Dir);
eine Liste aller Dateien eines Verzeichnisses ausgeben
In dieser Liste sind neben den Dateien auch die in $Dir vorhanden Verzeichnisse gespeichert (kann mich ned entscheiden, ob des gut oder schlecht is).
Fakt is: wie kann ich feststellen, mit was ich's grad zu tun hab?
Ich hab einige Funktionen gefunden, wie z. B.int ftp_mdtm ( int ftp_stream, string remote_file) // Änderungsdatum oder auch int ftp_size ( int ftp_stream, string remote_file) // Dateigröße
aber wie kann ich jetzt einen Eintrag aus $fileList testen, ob es sich um ein Verzeichnis, oder um eine Datei handelt?
Ursprünglich wollt ich's ja über ftp_rawlist() machen,
bloss leider liefert da irgendwie jeder Server ein anderes Format zurück,
so dass es relativ unbrauchbar isthx
Martin
-
anonymus schrieb:
aber wie kann ich jetzt einen Eintrag aus $fileList testen, ob es sich um ein Verzeichnis, oder um eine Datei handelt?
ich habe zwar noch nie mit ftp-streams zutun gehabt...aber
evtl kannst duint ftp_chdir ( int ftp_stream, string Verzeichnis)
verwenden. Doku sagt: Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.
Wenn du nicht ins verzeichnis wechseln willst, dann gehst du einfach mit ftp_cdup wieder raus.Ist zwar nicht besonders schön...
Viel Erfolg
-
Bei den Kommentaren auf php.net gibt es unterschiedliche "Lösungen", da es offenbar keine direkte Funktion gibt. Dort wird einfach eine Funktion aufgerufen, die nur für Dateien oder Verzeichnisse gültig ist (z.B. ftp_size oder ftp_chdir, wobei ich letzteres umständlicher finde). Wenn du jetzt den Rückgabewert überprüfst und bei ftp_size z.B. feststellst, dass die Funktion fehlschlug, weißt du, dass es ein Verzeichnis war
-
Aber haben die Codes von php.net: ftp_rawlist() nichts gebracht?
-
Erstmal Danke
Wenn ich ehrlich bin:
Die Codes hab ich noch gar ned gekannt (mach ned allzuviel mit PHP, hab nur ne Offline-Doku da)
Aber werd's mir mal durschaun.
Der erste Eindruck is schn mal positivthx
Martin