FTP remoto de servidor para servidor com PHP

Neste artigo apresento os testes que fiz usando os recursos de FTP do PHP, avaliei e debuguei uma classe que encontrei no PHPClasses.org. Esta facilidade demonstra a riqueza de recursos que o PHP nos oferece.

[ Hits: 18.063 ]

Por: Roberto Francisco em 03/09/2003


Procurando a solução



Após alguns dias de pesquisa, principalmente na php.net (sem exemplo de como fazer), elaborei e testei uma função que está tão fácil e quase ninguém conhece.

Com ela pode-se transferir remotamente arquivos de um diretório do seu servidor local para digamos, o ftp.kit.net, hpg, geocities ou seu novo host!

Constatei que do servidor que hospedo (2Assembler.com) para o ftp.br.geocities.com (as paginas do Yahoo), a transferência de 24 arquivos de imagens durou fantásticos 3 segundos, mas a mesma pode demorar até 2 minutos e meio como foi o caso para o hpg, ou não fazer a conexão de jeito algum como me aconteceu para o ftp.kit.net usando o mesmo servidor. Utilizando outros, funcionou normalmente.

O segredo para isso é apenas abrir o arquivo que se deseja enviar pelo método fopen($file,'r') no seu servidor, abrir uma conexão ftp_connect() e transferir com ftp_fput().

Abaixo a função (que adicionei à classe mencionada):

//upload file from server to server (BobFrank)
function srv2srv($from,$to){
  $from_fp = fopen($from,"r");
  if(!$from_fp){
return false;
  }  
  $this->FTP_MODE=="FTP_BINARY" ? $mode=FTP_BINARY : $mode=FTP_ASCII;
  if(!@ftp_fput($this->con_id, $to, $from_fp, $mode)){
  $this->error("Cannot send file<b>"".$from." -> ".$to.""</b>");
      return false;
    }
    return true;
}
    Próxima página

Páginas do artigo
   1. Procurando a solução
   2. Fazendo funcionar
   3. Classe php_ftp_class.php
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Usando Blocos Dinâmicos com a Classe FastTemplate (Parte 2)

PHP com PostgreSQL - Estruturando a conexão

Formantando nomes com caracteres especiais em PHP

PHP5 - Criando e utilizando uma classe básica

Acessando o Twitter de 5 formas: protocolo HTTP, cURL, classe HttpRequest (PHP), função http_post_fields() do PHP ou PHP+libcurl

  
Comentários
[1] Comentário enviado por fabio em 03/09/2003 - 00:05h

Olá bobfrank, gostei da foto do seu perfil! :)
Esse livro PHP Programming é um ícone, foi ele que me introduziu nesta belíssima linguagem também, muito bom.

[2] Comentário enviado por ygorth em 17/02/2004 - 01:31h

Otimo artigo. Vou testar..

[3] Comentário enviado por coffani em 28/07/2008 - 23:58h

Muito bom. Vou testar pois estou precisando de uma classe dessas em uma aplicação que estou desenvolvendo

Parabéns

[4] Comentário enviado por wesleysimplicio em 28/01/2013 - 08:42h

Muito bem elaborado o Artigo, está de parabéns !


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts