W3docs

ftp_quit()

La fonction ftp_quit() est une fonction PHP intégrée qui ferme une connexion FTP. Cet article explique son fonctionnement en détail avec des exemples.

Comprendre la fonction PHP ftp_quit()

La fonction ftp_quit() ferme une connexion FTP ouverte et libère les ressources qui lui sont associées. Elle est le pendant de ftp_connect() : une fois les transferts de fichiers terminés, appeler ftp_quit() envoie la commande FTP QUIT au serveur et clôt la session proprement.

Cet article explique ce que fait la fonction, pourquoi il est important de fermer une connexion, et comment l'utiliser en toute sécurité dans les anciennes bases de code PHP — ainsi que le remplacement moderne à privilégier.

Dépréciée et supprimée : ftp_quit() est un alias de ftp_close(). L'alias a été déprécié dans PHP 7.2 et supprimé dans PHP 8.0. Dans tout projet tournant sous PHP 8 ou une version ultérieure, utilisez ftp_close() à la place — son comportement est identique. Ce guide documente ftp_quit() pour la maintenance de code ancien.

Qu'est-ce que ftp_quit() ?

La fonction ftp_quit() accepte un seul paramètre :

  1. ftp_stream — l'identifiant de connexion renvoyé par ftp_connect() (ou ftp_ssl_connect()).

Elle retourne true en cas de succès, ou false en cas d'échec.

Pourquoi fermer une connexion FTP ?

PHP ferme automatiquement une connexion FTP à la fin du script, alors pourquoi appeler ftp_quit() explicitement ?

  • Libérer les ressources tôt. Dans un script de longue durée qui ouvre plusieurs connexions (par exemple pour synchroniser avec plusieurs serveurs), fermer chacune dès qu'on en a terminé évite de maintenir des sockets inactifs ouverts.
  • Envoyer un QUIT propre. Une fermeture gracieuse indique au serveur que vous vous déconnectez, ce qui lui permet de libérer ses propres ressources de session immédiatement plutôt que d'attendre un délai d'expiration.
  • Rester dans les limites de connexions. De nombreux serveurs FTP plafonnent le nombre de connexions simultanées par utilisateur. Libérer les connexions rapidement permet d'éviter les erreurs « trop de connexions ».

Syntaxe de ftp_quit()

La syntaxe de la fonction ftp_quit() est la suivante :

Syntaxe de ftp_quit()

bool ftp_quit ( resource $ftp_stream )

La fonction ftp_quit() prend un seul paramètre obligatoire, ftp_stream. Le paramètre ftp_stream est l'identifiant de connexion renvoyé par la fonction ftp_connect().

Utilisation de ftp_quit()

Pour utiliser la fonction ftp_quit(), vous établissez d'abord une connexion avec ftp_connect() et vous vous authentifiez avec ftp_login(). Une fois vos transferts terminés, vous fermez la session. Voici un flux typique pour les environnements PHP anciens :

Utilisation de 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);

Dans cet exemple, nous nous connectons au serveur FTP avec ftp_connect(), nous nous authentifions avec ftp_login(), nous effectuons des transferts de fichiers, puis nous fermons la connexion avec ftp_quit().

Après l'exécution de ftp_quit(), le handle $conn n'est plus valide — tout appel FTP ultérieur sur celui-ci (comme ftp_get() ou ftp_pwd()) échouera. Si vous avez besoin de communiquer à nouveau avec le serveur, ouvrez une nouvelle connexion.

Gestion des erreurs dans ftp_quit()

Il est important de gérer correctement les erreurs lors de l'utilisation de la fonction ftp_quit(). Si la fonction retourne false, cela signifie que l'opération a échoué. Les échecs sont rares et indiquent généralement que la connexion était déjà fermée. Voici un exemple de gestion des erreurs :

Gestion des erreurs dans ftp_quit()

<?php

$connection_closed = ftp_quit($conn);

if (!$connection_closed) {
    echo "Failed to close FTP connection.\n";
}

En vérifiant la valeur de retour, vous pouvez confirmer que la connexion a été fermée comme prévu. En pratique, un résultat false est rare et signifie généralement que la connexion avait déjà été interrompue.

ftp_quit() vs. ftp_close()

Les deux fonctions ont un comportement identique — ftp_quit() est simplement un alias plus ancien. La seule différence concerne la disponibilité :

FonctionDisponible dansStatut
ftp_quit()PHP 4 – 7.xDépréciée en 7.2, supprimée en 8.0
ftp_close()PHP 4 et ultérieurRecommandée

Si vous écrivez du nouveau code, utilisez toujours ftp_close(). Réservez ftp_quit() à la maintenance de code devant tourner sous PHP 7.1 ou antérieur.

Conclusion

La fonction ftp_quit() ferme une connexion FTP dans les environnements PHP anciens, libérant les ressources et clôturant proprement la session. Avec une utilisation appropriée et une gestion des erreurs adéquate, elle constitue une partie fiable des workflows FTP sur les anciennes versions de PHP. Pour PHP 8 et les versions ultérieures, remplacez-la par ftp_close(). Pour explorer l'ensemble des fonctions FTP, consultez la vue d'ensemble des fonctions FTP PHP.

Pratique

Pratique
Quelle est la fonction principale de la méthode FTP_QUIT en PHP ?
Quelle est la fonction principale de la méthode FTP_QUIT en PHP ?
Was this page helpful?