====== FTP (File Transfer Protokoll) ======
===== Allgemein =====
Mit dem File Transfer Protokoll können ASCII und Binär-Dateien unabhängig vom Betriebssystem
auf einem Server Hoch- oder von einem Server Heruntergeladen werden. Folgende Daten werden i. d. R. benötigt,
um sich in einem FTP-Account einzuloggen:
* Servername oder IP-Adresse
* Benutzername
* Passwort
* Port (der Standard-Port ist 21)
Die oben genannten Verbindungsdaten sind notwendig, damit der Client eine TCP-Verbindung mit dem Server aufbauen kann.
===== FTP mit PHP =====
PHP bietet folgende Funktionen für die Nutzung von FTP:
^ Funktionsbeschreibung ^ Funktionsaufruf ^
| Verbindung zum Server aufbauen | ftp_connect(); |
| Einloggen | ftp_login(); |
| Verbindung in Passiv-Modus versetzen | ftp_pasv(); |
| Liste der verfügbaren Dateien und Verzeichnisse abholen | ftp_nlist(); |
| Datei auf den Server hochladen | ftp_put(); |
| Datei vom Server herunterladen | ftp_get(); |
| Datei auf dem Server umbenennen | ftp_rename(); |
| Datei auf dem Server löschen | ftp_delete(); |
| Verbindung zum Server schließen | ftp_close(); |
==== Beispiel ====
Hier wird eine Datei von einem FTP-Server heruntergeladen, dessen Inhalt in die Variable $content gespeichert und anschliessend gelöscht. Alternativ kann als 2. Parameter bei der Funktion "ftp_get" auch ein lokaler Dateipfad mit Dateinamen übergeben werden, um die Datei ohne weitere Verarbeitung zu speichern.
==== Troubleshooting ====
Sollte es bei der Verwendung von Funktionen wie z. B. ftp_nlist(); für das Abholen der Dateien und Verzeichnissen zu Problemen kommen könnte es helfen, die Verbindung **nach dem Login** in den Passiv-Modus zu versetzen:
ftp_pasv( $connectId, true );