Olá pessoal, esse post explica como realizar troca de arquivos um servidor com a biblioteca FTP do próprio PHP. A versão do PHP utilizada nesse post é a 5.5, a distribuição linux pode ser qualquer uma, mas estou utilizando o Ubuntu Server 14.04. Não será necessário instalar qualquer tipo de biblioteca extra, pois o PHP tem já tem biblioteca FTP nativa. Vamos ao nosso script em PHP usando FTP, no cenário a seguir. Servidor1 – É o nosso servidor onde está rodando o PHP. Servidor2 – Servidor para onde jogaremos os arquivos, chamarei de S2. S2 tem o endereço IP 192.168.1.20, usuário de acesso ‘rodrigo’ e a senha ‘123456’. Crie o arquivo ftp.php e digite o seguinte conteúdo.
<?php /* Declaração de variáveis */ $serverHost = '192.168.1.20'; $serverUser = 'rodrigo'; $serverPass = '123456'; $arquivoLocal = '/home/rodrigo/index.php.bkp'; $diretorioRemoto = '/var/www/site/'; $arquivoRemoto = 'index.php'; /* Faz conexão com o servidor */ if (!$ftp = @ftp_connect($serverHost)) { echo "Erro ao se conectar com o servidor FTP...\n"; exit(); } /* Efetua autenticação no servidor */ if (!@ftp_login($ftp, $serverUser, $serverPass)) { echo "Erro ao efetuar autenticação no servidor FTP...\n"; exit(); } /* Definindo o modo passivo ligado */ ftp_pasv($ftp, true); /* Acessando o diretório onde está o arquivo */ if (!@ftp_chdir($diretorioRemoto)) { echo "Erro! Diretório não existe...\n"; exit(); } /** * Copia o arquivo do servidor remoto para o servidor local * Use FTP_ASCII para arquivos texto * Use FTP_BINARY para arquivos binários */ if (@ftp_get($ftp, $arquivoLocal, $arquivoRemoto, FTP_ASCII)) { echo "Erro ao fazer download do arquivo...\n"; exit(); } /* Copiar o arquivos do servidor local para o servidor remoto */ if (!@ftp_put($ftp, $arquivoRemoto, $arquivoLocal)) { echo "Erro ao fazer upload do arquivo...\n"; exit(); }
Um script básico para troca de arquivos sem a necessidade instalar um programa FTP para. Pode ser utilizado como uma simples troca de arquivos, como backup diário, etc. Se você quiser saber mais sobre outras funções FTP do PHP, consulte a documentação em http://br.php.net/manual/en/ref.ftp.php Um abraço e até a próxima.
Ao invés de copiar o arquivo entre servidores, o meu objetivo é criar um arquivo dentro de um diretório, no seguinte exemplo:
Pesquisando, eu encontrei esse tutorial que se aproxima um pouco do que preciso, mas eu não tenho muito conhecimento para fazer a modificação e por isso.
Na verdade,m só preciso dos comandos para incrementar a esse seu arquivo e o resto acho que já dou conta. Se puder me ajudar, eu agradeço
Muito obrigada!!
Salvou meu dia!
Só um comentário para colaborar:
Na linhas
if (!@ftp_login($ftp, $serverUser e, $serverPass)) {
o e está a mais depois de $serverUser.
Obrigada