Função php para copia arquivo de um servidor para outro

Está é uma função php difícil de ser encontrada na internet.
Espero que este código seja útil para você assim como é para mim.
Se possível deixe seu cometário avaliando.

 <?php  
 /////////////////////////////////////////////////////////////////////  
 ///url de exemplo passado para está função //////  
 http://www.siteondeestáafunção.com.br?url_arquivo=endereço_virtual_do_arquivo_a_ser_copiado  
 ////função que ficará no servidor de destino onde arquivo será guardado///////  
 function copiarArquivoServidorExterno(){  
 ///remove caracteres especiais que aparecem na url//////  
 $urlArquivo = str_replace(array('%26','%3F','%20'), array('&','?',' '), $_GET['url_arquivo']);  
 ////////////////////////////////////////////  
 ////pega apenas o endereço do arquivo passado por parâmetro que vem junto com o endereço do servidor onde está a função/////  
 $arquivo = explode('&nome_arquivo=', $urlArquivo);  
 /////pegar extenção do arquivo//////  
  $extensaoArquivo = explode('.', $arquivo[0]);  
  $c = count($extensaoArquivo);  
 $extensaoArquivo = strtolower($extensaoArquivo[$c - 1]);  
 ////////////////////////////////  
 ///nome novo do arquivo copiado///  
  $nomeArquivo = "nomedoarquivodestino".".".$extensaoArquivo;  
 ////copia do servidor externo para um arquivo chamado temp dentro do servidor de destino///  
 $destino = c:/www/teste/temp/".$nomeArquivo; //tem que ser endereço completo desde a raiz do diretório////  
 $orig = fopen($arquivo[0], "r");  
 $dest = fopen($destino, "w");  
 while (!feof($orig)) {  
 $line = fread ($orig, 1024);  
 fwrite($dest, $line);  
 }  
 fclose($orig);  
 fclose($dest);  
 ///////////////////////////////  
 ///retorna o endereço do arquivo no servidor de destino/////  
 return $dest;  
 }  
 ?>  

0 comentários:

Postar um comentário