ftp_quit()
La funzione ftp_quit() è una funzione PHP integrata che chiude una connessione FTP. In questo articolo la esaminiamo in dettaglio.
Comprendere la funzione PHP ftp_quit()
La funzione ftp_quit() chiude una connessione FTP aperta e rilascia le risorse associate. È la controparte di ftp_connect(): una volta terminati i trasferimenti di file, chiamare ftp_quit() invia il comando FTP QUIT al server e termina la sessione in modo pulito.
Questo articolo spiega cosa fa la funzione, perché è importante chiudere una connessione e come utilizzarla in modo sicuro nelle basi di codice PHP più datate — insieme al moderno sostituto da preferire.
Deprecata e rimossa:
ftp_quit()è un alias diftp_close(). L'alias è stato deprecato in PHP 7.2 e rimosso in PHP 8.0. In qualsiasi progetto che utilizzi PHP 8 o versioni successive, chiamaftp_close()— il comportamento è identico. Questa guida documentaftp_quit()per la manutenzione del codice legacy.
Cos'è ftp_quit()?
La funzione ftp_quit() accetta un unico parametro:
ftp_stream— l'identificatore di connessione restituito daftp_connect()(o daftp_ssl_connect()).
Restituisce true in caso di successo, o false in caso di errore.
Perché chiudere una connessione FTP?
PHP chiude automaticamente una connessione FTP al termine dello script, quindi perché chiamare ftp_quit() esplicitamente?
- Liberare le risorse prima del tempo. In uno script a lunga esecuzione che apre più connessioni (ad esempio per sincronizzare con più server), chiudere ciascuna non appena si è terminato evita di mantenere socket inattivi aperti.
- Inviare un
QUITpulito. Una chiusura regolare comunica al server che si sta uscendo, consentendogli di rilasciare immediatamente le proprie risorse per sessione anziché attendere un timeout. - Rispettare i limiti di connessione. Molti server FTP limitano le connessioni simultanee per utente. Rilasciare le connessioni tempestivamente evita errori del tipo "troppe connessioni".
Sintassi di ftp_quit()
La sintassi della funzione ftp_quit() è la seguente:
Sintassi di ftp_quit()
bool ftp_quit ( resource $ftp_stream )La funzione ftp_quit() accetta un parametro obbligatorio, ftp_stream. Il parametro ftp_stream è l'identificatore di connessione restituito dalla funzione ftp_connect().
Utilizzo di ftp_quit()
Per utilizzare la funzione ftp_quit(), si stabilisce prima una connessione con ftp_connect() e ci si autentica con ftp_login(). Una volta completati i trasferimenti, si chiude la sessione. Ecco un flusso tipico per ambienti PHP legacy:
Utilizzo di 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 questo esempio ci colleghiamo al server FTP con ftp_connect(), ci autentichiamo con ftp_login(), eseguiamo i trasferimenti di file e infine chiudiamo la connessione con ftp_quit().
Dopo l'esecuzione di ftp_quit(), l'handle $conn non è più valido — qualsiasi ulteriore chiamata FTP su di esso (come ftp_get() o ftp_pwd()) fallirà. Se è necessario comunicare nuovamente con il server, aprire una nuova connessione.
Gestione degli errori in ftp_quit()
È importante gestire correttamente gli errori quando si utilizza la funzione ftp_quit(). Se la funzione restituisce false, significa che l'operazione non è riuscita. Gli errori sono rari e di solito indicano che la connessione era già stata chiusa. Ecco un esempio di come gestire gli errori:
Gestione degli errori in ftp_quit()
<?php
$connection_closed = ftp_quit($conn);
if (!$connection_closed) {
echo "Failed to close FTP connection.\n";
}Verificando il valore restituito, è possibile confermare che la connessione è stata chiusa come previsto. In pratica un risultato false è raro e di solito indica che la connessione era già stata interrotta.
ftp_quit() vs. ftp_close()
Le due funzioni hanno un comportamento identico — ftp_quit() è semplicemente un alias più datato. L'unica differenza riguarda la disponibilità:
| Funzione | Disponibile in | Stato |
|---|---|---|
ftp_quit() | PHP 4 – 7.x | Deprecata in 7.2, rimossa in 8.0 |
ftp_close() | PHP 4 in poi | Raccomandata |
Se stai scrivendo nuovo codice, usa sempre ftp_close(). Riserva ftp_quit() alla manutenzione di codice che deve girare su PHP 7.1 o versioni precedenti.
Conclusione
La funzione ftp_quit() chiude una connessione FTP negli ambienti PHP legacy, liberando risorse e terminando la sessione in modo pulito. Con un utilizzo corretto e una gestione appropriata degli errori è uno strumento affidabile nei flussi di lavoro FTP sulle versioni PHP più datate. Per PHP 8 e versioni successive, sostituiscila con ftp_close(). Per esplorare l'intero toolkit FTP, consulta la panoramica delle funzioni FTP di PHP.