ftp_quit()
Die PHP-Funktion ftp_quit() schließt eine FTP-Verbindung. Erfahren Sie alles über Syntax, Verwendung und Fehlerbehandlung in diesem Artikel.
Die PHP-Funktion ftp_quit() verstehen
Die Funktion ftp_quit() schließt eine offene FTP-Verbindung und gibt die damit verbundenen Ressourcen frei. Sie ist das Gegenstück zu ftp_connect(): Sobald die Dateiübertragung abgeschlossen ist, sendet ftp_quit() den FTP-Befehl QUIT an den Server und beendet die Sitzung sauber.
Dieser Artikel erklärt, was die Funktion tut, warum das Schließen einer Verbindung wichtig ist und wie man sie sicher in älteren PHP-Codebasen einsetzt — zusammen mit dem modernen Ersatz, den man vorrangig verwenden sollte.
Veraltet und entfernt:
ftp_quit()ist ein Alias vonftp_close(). Der Alias wurde in PHP 7.2 als veraltet markiert und in PHP 8.0 entfernt. In jedem Projekt, das PHP 8 oder höher verwendet, sollte stattdessenftp_close()aufgerufen werden — das Verhalten ist identisch. Diese Anleitung dokumentiertftp_quit()für die Pflege von Legacy-Code.
Was ist ftp_quit()?
Die Funktion ftp_quit() akzeptiert einen einzelnen Parameter:
ftp_stream— die Verbindungskennung, die vonftp_connect()(oderftp_ssl_connect()) zurückgegeben wird.
Sie gibt bei Erfolg true zurück, bei einem Fehler false.
Warum eine FTP-Verbindung schließen?
PHP schließt eine FTP-Verbindung automatisch, wenn das Skript endet — warum also ftp_quit() explizit aufrufen?
- Ressourcen frühzeitig freigeben. In einem lang laufenden Skript, das mehrere Verbindungen öffnet (zum Beispiel zur Synchronisierung mit mehreren Servern), wird durch das Schließen jeder Verbindung nach ihrer Verwendung verhindert, dass unnötige Sockets offen bleiben.
- Ein sauberes
QUITsenden. Ein ordnungsgemäßes Schließen teilt dem Server mit, dass die Verbindung beendet wird, sodass er seine sitzungsbezogenen Ressourcen sofort freigeben kann, anstatt auf einen Timeout zu warten. - Verbindungslimits einhalten. Viele FTP-Server begrenzen die gleichzeitigen Verbindungen pro Benutzer. Durch das prompte Freigeben von Verbindungen werden „too many connections"-Fehler vermieden.
Syntax von ftp_quit()
Die Syntax der Funktion ftp_quit() lautet wie folgt:
Syntax von ftp_quit()
bool ftp_quit ( resource $ftp_stream )Die Funktion ftp_quit() nimmt einen erforderlichen Parameter entgegen: ftp_stream. Der Parameter ftp_stream ist die Verbindungskennung, die von der Funktion ftp_connect() zurückgegeben wird.
Verwendung von ftp_quit()
Um die Funktion ftp_quit() zu verwenden, stellt man zunächst eine Verbindung mit ftp_connect() her und authentifiziert sich mit ftp_login(). Sobald die Übertragungen abgeschlossen sind, wird die Sitzung geschlossen. Hier ist ein typischer Ablauf für ältere PHP-Umgebungen:
Verwendung von ftp_quit()
<?php
// Set up an FTP connection
$conn = ftp_connect('ftp.example.com');
// Login with your FTP credentials
ftp_login($conn, 'username', 'password');
// ... transfer files here (ftp_put, ftp_get, etc.) ...
// Close the FTP connection (use ftp_close() in PHP 8+)
ftp_quit($conn);In diesem Beispiel verbinden wir uns mit ftp_connect() mit dem FTP-Server, authentifizieren uns mit ftp_login(), führen beliebige Dateiübertragungen durch und schließen die Verbindung schließlich mit ftp_quit().
Nachdem ftp_quit() ausgeführt wurde, ist das Handle $conn nicht mehr gültig — jeder weitere FTP-Aufruf darauf (wie ftp_get() oder ftp_pwd()) schlägt fehl. Wenn erneut mit dem Server kommuniziert werden muss, ist eine neue Verbindung zu öffnen.
Fehlerbehandlung bei ftp_quit()
Bei der Verwendung der Funktion ftp_quit() ist eine korrekte Fehlerbehandlung wichtig. Gibt die Funktion false zurück, bedeutet dies, dass die Operation nicht erfolgreich war. Fehler sind selten und deuten in der Regel darauf hin, dass die Verbindung bereits geschlossen war. Hier ist ein Beispiel für die Fehlerbehandlung:
Fehlerbehandlung bei ftp_quit()
<?php
$connection_closed = ftp_quit($conn);
if (!$connection_closed) {
echo "Failed to close FTP connection.\n";
}Durch die Überprüfung des Rückgabewerts kann bestätigt werden, dass die Verbindung wie erwartet geschlossen wurde. In der Praxis ist ein false-Ergebnis ungewöhnlich und bedeutet meist, dass die Verbindung bereits unterbrochen war.
ftp_quit() vs. ftp_close()
Die beiden Funktionen verhalten sich identisch — ftp_quit() ist lediglich ein älterer Alias. Der einzige Unterschied liegt in der Verfügbarkeit:
| Funktion | Verfügbar in | Status |
|---|---|---|
ftp_quit() | PHP 4 – 7.x | In 7.2 veraltet, in 8.0 entfernt |
ftp_close() | PHP 4 und höher | Empfohlen |
Beim Schreiben von neuem Code sollte immer ftp_close() verwendet werden. ftp_quit() ist ausschließlich für die Pflege von Code reserviert, der auf PHP 7.1 oder früher laufen muss.
Fazit
Die Funktion ftp_quit() schließt eine FTP-Verbindung in älteren PHP-Umgebungen, gibt Ressourcen frei und beendet die Sitzung sauber. Mit korrekter Verwendung und Fehlerbehandlung ist sie ein zuverlässiger Bestandteil von FTP-Workflows auf älteren PHP-Versionen. Für PHP 8 und höher sollte sie durch ftp_close() ersetzt werden. Einen Überblick über die vollständige FTP-Funktionsbibliothek bietet die PHP-FTP-Funktionen-Übersicht.