W3docs

ftp_quit()

A função ftp_quit() do PHP fecha uma conexão FTP. Veja como usá-la com exemplos e tratamento de erros.

Entendendo a Função PHP ftp_quit()

A função ftp_quit() fecha uma conexão FTP aberta e libera os recursos associados a ela. Ela é a contraparte de ftp_connect(): depois de concluir as transferências de arquivos, chamar ftp_quit() envia o comando FTP QUIT ao servidor e encerra a sessão de forma limpa.

Este artigo explica o que a função faz, por que fechar uma conexão é importante e como usá-la com segurança em bases de código PHP mais antigas — junto com o substituto moderno que você deve usar prioritariamente.

Descontinuada e Removida: ftp_quit() é um alias de ftp_close(). O alias foi descontinuado no PHP 7.2 e removido no PHP 8.0. Em qualquer projeto rodando PHP 8 ou posterior, use ftp_close() — o comportamento é idêntico. Este guia documenta ftp_quit() para manutenção de código legado.

O que é ftp_quit()?

A função ftp_quit() aceita um único parâmetro:

  1. ftp_stream — o identificador de conexão retornado por ftp_connect() (ou ftp_ssl_connect()).

Ela retorna true em caso de sucesso ou false em caso de falha.

Por que fechar uma conexão FTP?

O PHP fecha automaticamente uma conexão FTP quando o script termina, então por que chamar ftp_quit() explicitamente?

  • Libere recursos mais cedo. Em um script de longa execução que abre várias conexões (por exemplo, sincronizando com múltiplos servidores), fechar cada uma assim que terminar evita manter sockets ociosos abertos.
  • Envie um QUIT limpo. Um fechamento gracioso informa ao servidor que você está saindo, permitindo que ele libere seus próprios recursos por sessão imediatamente, em vez de aguardar um timeout.
  • Fique dentro dos limites de conexão. Muitos servidores FTP limitam as conexões simultâneas por usuário. Liberar conexões prontamente evita erros de "muitas conexões".

Sintaxe de ftp_quit()

A sintaxe da função ftp_quit() é a seguinte:

Sintaxe de ftp_quit()

bool ftp_quit ( resource $ftp_stream )

A função ftp_quit() recebe um parâmetro obrigatório, ftp_stream. O parâmetro ftp_stream é o identificador de conexão retornado pela função ftp_connect().

Uso de ftp_quit()

Para usar a função ftp_quit(), primeiro estabeleça uma conexão com ftp_connect() e autentique-se com ftp_login(). Após concluir as transferências, feche a sessão. Veja um fluxo típico para ambientes PHP legados:

Uso 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);

Neste exemplo, conectamos ao servidor FTP com ftp_connect(), autenticamos com ftp_login(), realizamos as transferências de arquivos e, por fim, fechamos a conexão com ftp_quit().

Após a execução de ftp_quit(), o handle $conn não é mais válido — qualquer chamada FTP posterior sobre ele (como ftp_get() ou ftp_pwd()) irá falhar. Se precisar comunicar-se com o servidor novamente, abra uma nova conexão.

Tratamento de erros em ftp_quit()

É importante tratar erros corretamente ao usar a função ftp_quit(). Se a função retornar false, significa que a operação não foi bem-sucedida. Falhas são raras e geralmente indicam que a conexão já foi fechada. Veja um exemplo de como tratar erros:

Tratamento de erros em ftp_quit()

<?php

$connection_closed = ftp_quit($conn);

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

Ao verificar o valor de retorno, você confirma que a conexão foi encerrada como esperado. Na prática, um resultado false é incomum e geralmente significa que a conexão já havia sido interrompida.

ftp_quit() vs. ftp_close()

As duas funções têm comportamento idêntico — ftp_quit() é simplesmente um alias mais antigo. A única diferença é a disponibilidade:

FunçãoDisponível emStatus
ftp_quit()PHP 4 – 7.xDescontinuada no 7.2, removida no 8.0
ftp_close()PHP 4 em dianteRecomendada

Se estiver escrevendo código novo, use sempre ftp_close(). Reserve ftp_quit() para manutenção de código que precise rodar no PHP 7.1 ou anterior.

Conclusão

A função ftp_quit() fecha uma conexão FTP em ambientes PHP legados, liberando recursos e encerrando a sessão de forma limpa. Com uso adequado e tratamento de erros, ela é uma parte confiável dos fluxos de trabalho FTP em versões mais antigas do PHP. Para PHP 8 e posterior, substitua-a por ftp_close(). Para explorar o conjunto completo de funções FTP, consulte a visão geral das funções PHP FTP.

Prática

Prática
Qual é a principal função do método FTP_QUIT no PHP?
Qual é a principal função do método FTP_QUIT no PHP?
Was this page helpful?