Martin D.: fsockopen() vs. ftp_connect()

Guten Abend!
Ich möchte mit PHP eine FTP Verbindung aufbauen und Dateien down- und uploaden.

Die ftp_connect() Funktion macht mir ja eine FTP Verbindung auf. Die fsockopen() Funktion startet eine Internet bzw. Socketverbindung.

Mit beiden Funktionen kann ich meine erwünschte Funktionen (o.g.) durchführen. Aber was ist besser geeignet? Ich denke da an die ftp_connect() Funktion, sonst würde es sie ja nicht geben, oder?

Kann mir jemand helfen?
Viele Grüße Martin

  1. Die ftp_connect() Funktion macht mir ja eine FTP Verbindung auf. Die fsockopen() Funktion startet eine Internet bzw. Socketverbindung.

    Aber was ist besser geeignet? Ich denke da an die ftp_connect() Funktion, sonst würde es sie ja nicht geben, oder?

    fsockopen() erzeugt lediglich eine Netzwerkverbindung, ftp_connect() öffnet eine Netzwerkverbindung und übernimmt die Übermittlung deiner Wünsche mittels des FTP-Protokolls (denn irgendwie musst du dem Kind ja sagen, was es machen soll).
    Du kannst beides verwenden, bei ftp_connect() musst du das (FTP-) Rad aber nicht zum zweiten Mal erfinden.

    PS: Kauf dich mal ein paar Bindestriche.

    1. Du kannst beides verwenden, bei ftp_connect() musst du das (FTP-) Rad aber nicht zum zweiten Mal erfinden.

      Muss man da vor jeder Aktion die Verbindung aufbauen?
      Sprich, immer bevor man down- oder uploaded, ftp_connect() benutzen? Oder kann man das auch nur einmal für weitere PHP-Vorgänge in anderen Scripts benutzen?

      1. Sprich, immer bevor man down- oder uploaded, ftp_connect() benutzen?

        Du kannst über ein und dieselbe Verbindung mehrere Aktionen nacheinander starten (Verzeichnisinhalt auflisten, dann Datei hochladen, dann eine andere runterladen, usw.), aber …

        Oder kann man das auch nur einmal für weitere PHP-Vorgänge in anderen Scripts benutzen?

        Nein, über Skripte hinweg kann man generell nur sehr wenige PHP-Funktionen benutzen, der FTP-Kram macht da keine Ausnahme. Ist ein Skript durchgelaufen, kommt der große Müllmampf (Neudeutsch: garbage collector) und räumt die Reste weg, die du übrig gelassen hast, einschließlich offener FTP-Verbindungen.