O QUE É O FTP?
Siglas de File Transfer Protocol ou Protocolo de Transferência de Arquivos. Como seu próprio nome o indica, é um protocolo (que pertence a TCP/IP) que se encarrega da transferência de arquivos entre computadores conectados em rede. Ao se basear na arquitetura Cliente / Servidor, o FTP faz uso de dois componentes básicos:
Para nos conectarmos a um servidor FTP, e assim, poder realizar consultas nele, necessitaremos dos seguintes dados:
Uma vez conectados ao servidor FTP poderemos fazer uso de seus comandos para realizar as tarefas que melhor acharmos conveniente. Este artigo não pretende esboçar em grande medida o tema de FTP, por não ser este o objetivo fundamental do mesmo. Para mais informações sobre sobre este aspecto lhe recomendo revisar o artigo de Michael Calore: "El ABC de la transferencia de archivos por Internet", disponível no web site de WebMonkey.
FUNÇÕES FTP EM PHP.
PHP faz uso de funções FTP para acessar a um servidor web, a maneira de cliente. A seguir mostraremos as funções básicas a usar no script, assim como uma breve descrição das mesmas. Se quiser maior detalhe destas e outras funções FTP lhe aconselho consultar a documentação oficial do PHP, disponível em: http://www.php.net/docs.php.
| Função |
Sintaxe |
Descrição |
| ftp_connect | int ftp_connect ( string host [, int port]) host: Nome ou IP de Servidor FTP. port: Porto, padrão 21. |
Estabelece uma conexião FTP ao host especificado. |
| ftp_login | int ftp_login( int ftp_stream, string username, string password) ftp_stream: Manejador FTP obtido com ftp_connect. username: Nome de usuário. password: senha de usuário. |
Começa a sessão em uma conexão FTP. |
| ftp_pasv | int ftp_pasv ( int ftp_stream, int pasv) ftp_stream: Manejador FTP obtido com ftp_connect. pasv: Se for TRUE ativa o modo passivo, se for FALSE ou desativa. |
Ativa ou desativa o modo passivo. Em modo passivo, as conexões de daos são iniciadas pelo cliente, ao invés de serem iniciadas pelo servidor. |
| ftp_pwd | int ftp_pwd ( int ftp_stream) ftp_stream: Manejador FTP obtido com ftp_connect. |
Devolve o nome do diretório atual. |
| ftp_put | int ftp_put ( int ftp_stream, string remote_file, string local_file, int mode) ftp_stream: Manejador FTP obtido com ftp_connect. remote_file: Nome com o qual se salvará o arquivo no Servidor FTP. local_file: Arquivo local que se encontra na máquina cliente. mode: Modo de transferência, pode ser FTP_ASCII ou FTP_BINARY. |
Transfere uma arquivo ao Servidor FTP. |
| ftp_nlist | int ftp_nlist ( int ftp_stream, string directory) ftp_stream: Manejador FTP obtido com ftp_connect. directory: Rota do diretório a listar. |
Devolve uma lista de arquivos do diretório dado. |
| ftp_size | int ftp_size ( int ftp_stream, string remote_file) ftp_stream: Manejador FTP obtido com ftp_connect. remote_file: Nome do arquivo no Servidor FTP. |
Devolve o tamanho do arquivo especificado. Nem todos os servidores suportam esta característica. |
| ftp_mdtm | int ftp_mdtm ( int ftp_stream, string remote_file) ftp_stream: Manejador FTP obtido com ftp_connect. remote_file: Nome do arquivo no Servidor FTP. |
Devolve a data da última modificação do arquivo especificado. Nem todos os servidores suportam esta característica |
| ftp_quit | int ftp_quit ( int ftp_stream) ftp_stream: Manejador FTP obtido com ftp_connect. |
Fecha uma conexão FTP |
| Nota: Deve-se certificar que se encontrem habilitadas as funções ftp na configuração da versão de PHP que possui e de ter as permissões necessários em sua conta FTP para transferir e baixar arquivos. |
CODIGO FONTE.
/inc/ftpfunc.php.
Script que conterá as constantes e funções a usar em index.php. Neste script deverá modificar os valores das constantes para ajusta-lo a suas necesidades. A função ConectarFTP lhe permitirá se conectar ao Servidor FTP; a função TransferirArquivo tem a tarefa de transferir um arquivo ao Servidor; e finalmente, a função ObterRota lhe outorgará a rota do diretório atual no qual está trabalhando o Servidor.
| <? # FUNÇÕES FTP # CONSTANTES function ConectarFTP(){ function TransferiArquivo($arquivo_local,$arquivo_remoto){ function ObterRota(){ |
index.php.
Script que contém um formulário (form_ftp) que nos permite buscar um arquivo e transferi-lo ao Servidor FTP, ademais nos mostra uma lista dos diretórios e arquivos do mesmo.

| <?php echo "<?xml versao="1.0" encoding="iso-8859-1"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>::..Funções FTP..::</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <? <!--Formulario para escolher o arquivo a transferir --> <hr /> |
Bom, espero que esta colaboração tenha sido útil à Comunidade Web!