Hoje vou falar um pouco sobre as funções para manipulação (no PHP) do protocolo FTP, que permite o envio de arquivos entre servidores.
Falarei sobre quatro cinco tarefas básicas: abrir a conexão, fazer o login, enviar um arquivo, receber um arquivo e desconectar o FTP.
Faremos um arquivo que conterá todas essas tarefas, então vai ficar fácil entender como tudo funciona.
> Conectando-se ao FTP
Para se conectar a um servidor FTP você deve usar a função ftp_connect(), que tem três possíveis argumentos:
- O servidor ao qual estamos tentando conexão (geralmente um ip ou domínio)
- A porta por onde será tentada a conexão, por padrão o PHP já usa a porta 21. (opcional)
- O timeout, que é o tempo máximo para tentar a conexão (opcional)
Então, começaremos o nosso arquivo:
Até aqui, nada de misterioso… Vamos continuar.
» Veja também: Documentação da função ftp_connect()
> Fazendo login no FTP
Para fazer o login você vai usar a função ftp_login(), que tem três argumentos obrigatórios:
- O identificador da conexão, definido no uso do ftp_connect()
- Usuário
- Senha
Então, fazendo algumas alterações no nosso arquivo:
Vale lembrar que não estou criando nenhuma rotina de debug ou de manipulação de erros, estou partindo da premissa que os dados estão corretos e o servidor FTP está rodando, no ar.
A partir deste ponto já estamos conectados e logados no servidor FTP e podemos começar a pegar e enviar arquivos.
» Veja também: Documentação da função ftp_login()
> Enviando arquivos para o FTP (upload)
Para fazer upload de arquivos você vai usar a função ftp_put(), que tem quatro argumentos obrigatórios:
- O identificador da conexão, definido no uso do ftp_connect()
- Onde e com qual nome o arquivo será salvo no FTP
- O arquivo que será enviado (local)
- O modo de envio, pode ser FTP_ASCII ou FTP_BINARY
Então, fazendo algumas alterações no nosso arquivo:
Com isso você já vai poder conectar-se a um FTP e enviar arquivos dinamicamente, o que é muito útil.
» Veja também: Documentação da função ftp_put()
> Recebendo arquivos pelo FTP (download)
Para fazer download de arquivos você vai usar a função ftp_get(), que tem quatro argumentos obrigatórios, os mesmos do ftp_put():
- O identificador da conexão, definido no uso do ftp_connect()
- Onde e com qual nome o arquivo está salvo no FTP
- Onde o arquivo que será salvo (local)
- O modo de envio, pode ser FTP_ASCII ou FTP_BINARY
Então, fazendo algumas alterações no nosso arquivo:
» Veja também: Documentação da função ftp_get()
> Desconectando-se do FTP
Para se desconectar (faça isso, sempre) você vai usar a função ftp_close(), que tem apenas um argumento: o identificador da conexão.
Então, finalizando o no nosso arquivo:
Com esse arquivo você tem exemplos simples de como usar as tarefas básicas de uma conexão via protocolo FTP. É claro que existem várias outras funções relacionadas ao tamanho de arquivos, CHMOD (permissões), pastas e etc… Por isso vale a pena dar uma olhada na lista de funções FTP do PHP.
» Veja também: Lista de funções FTP