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 is 😞

    thx
    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 du

    int 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 positiv 😋

    thx
    Martin


Anmelden zum Antworten