Publicidade   
 você está aqui: phpbrasil.com    faqs    faq  
 
:: novos artigos ::

:: recomendado ::

Professional PHP Programando

Compre esse livro no Submarino.com.br

:: publicidade ::


:: novos scripts ::

:: elenco phpbrasil ::

Gustavo Villa
Pontos: 4831

FAQs

Essa seção tem como objetivo criar um histórico de perguntas ou tópicos frequentemente perguntados para ajudar a comunidade a documentar as necessidades dos desenvolvedores iniciantes e também experientes.


Procura:      
Lista de Categorias  |  Envie a sua Pergunta  |  Entre em Contato Conosco
Pergunta: Como copiar uma imagem de um servidor externo na internet e salvar dentro do meu servidor usando o php?
Autor: Diego
Vote aqui!
Média de Votos Atual: 5.88
Total de Votos: 16
Nota:   


Respostas

Resposta contribuída por Diego em 2004-07-17 08:55:44
 
Só prosseguindo, o q eu tentei foi algo do tipo:

$origem="http://www.servidor.com.br/imagem.jpg"
$destino="images/imagem.jpg" // path onde seria salvo no meu server;
$orig = fopen($origem, "rb");
$dest = fopen($destino, "r+");
while (!feof($orig)) {
$line = fread ($orig, 1024);
fwrite($dest, $line);
}
fclose ($orig);
fclose ($dest);

mas não funcionou. aliás, o script nem responde, parece q fica rodando eternamente, precisa de alguma permissão especial no servidor, será?

Resposta contribuída por Alessander Thomaz Esse usuário pertence aos 10 usuários mais ativos do site em 2004-07-22 23:28:16
 
Depende de muita coisa. Podem haver bloqueios no meio do caminho como firewalls e tudo mais.
O bobfrank fez um artigo de como transmitir arquivos entre ftps diferentes, veja se o artigo dele não lhe ajuda.
Resposta contribuída por Max em 2004-07-26 08:50:32
 
<?php
$fl = file('http://www.servidor.com.br/imagem.jpg');
$cd = '';
for ($i = 0; $i <= count($fl); $i++)
$cd = $fl[$i];
$fp = fopen('imagem_temporario.jpg', 'w');
fwrite($fp, $cd);
fclose($fp);
?>
Resposta contribuída por leo genilhu em 2004-07-26 16:49:29
 
voce pode fazer um script para baixar a imagem e grava -la em seu servidor (como o indicado acima) porem vale lembra que para isso funcionar vc tem quer ter permisao de execusao das imagens em questao o
que geralmente por segurancao nao eh permitido


Resposta contribuída por Leandro Maniezo em 2004-07-29 07:32:07
 
De uma olhada nesse artigo que faz conexao entre servidores via ftp:
http://www.phpbrasil.com/articles/article.php/id/589
mas como citaram acima tem que verificar as perimissoes e regras dos servidores pra que tudo funcione perfeitamente...
Resposta contribuída por Diogo Gomes Esse usuário pertence aos 10 usuários mais ativos do site em 2004-09-02 18:21:04
 
Essa função, retirada do manual faz isso:
###--- imagecreatefromjpeg only opens JPEG files from your disk.
###--- To load JPEG images from a URL, use the function below.

function LoadJPEG ($imgURL) {

##-- Get Image file from Port 80 --##
$fp = fopen($imgURL, "r");
$imageFile = fread ($fp, 3000000);
fclose($fp);

##-- Create a temporary file on disk --##
$tmpfname = tempnam ("/temp", "IMG");

##-- Put image data into the temp file --##
$fp = fopen($tmpfname, "w");
fwrite($fp, $imageFile);
fclose($fp);

##-- Load Image from Disk with GD library --##
$im = imagecreatefromjpeg ($tmpfname);

##-- Delete Temporary File --##
unlink($tmpfname);

##-- Check for errors --##
if (!$im) {
print "Could not create JPEG image $imgURL";
}

return $im;
}

$imageData = LoadJPEG("http://www.example.com/example.jpg");

Header( "Content-Type: image/jpeg");

imagejpeg($imageData, '', 100);

A URL é: http://www.php.net/manual/pt_BR/function.imagecreatefromjpeg.php
Resposta contribuída por dreaz em 2004-11-19 21:11:42
 
Use uma solução simples:

<?php
$lines = file('http://www.wallpapers.com/wallpapers/800/istheday_stpats800.jpg');
$fp = fopen('algo.jpg', 'a+');
foreach($lines as $line) {
fwrite($fp, $line);
}
fclose($fp);
?>

no exemplo ele copia um wallpaper do wallpaper.com para algo.jpg. funciona sem problemas com GIF, JPG, JPEG, etc.
Resposta contribuída por Eduardo Firmino Leitão em 2004-11-28 22:44:14
 
<?
$caminho_ext = "http://www.site.com.br/imagem.jpg"; //caminho da imagem no servidor externo

$caminho_int = "imagens/imagem.jpg"; //caminho de onde será salvo a imagem no seu servidor

if (copy($caminho_ext,$caminho_int)) {
print("Foto copiada com sucesso");
} else {
print("Erro ao copiar a foto");
}
?>
Resposta contribuída por vitorhugo em 2005-01-10 09:50:32
 
Não esqueça de colocar o CHMOD em 777
Resposta contribuída por Sebastião Luiz de Castro em 2005-02-17 21:56:13
 
Eu usei assim e funcionou:

// Nas versões do PHP anteriores a 4.1.0, deve ser usado $HTTP_POST_FILES ao invés de $_FILES.

## Local no server pra onde vai as imagens
## Exemplo do caminho do meu servidor, mude de acordo com o seu ##
## '/home/piresnet/public_html/script/pasta_de_imagens/ ##
## Para testes locais eu usei o caminho abaixo, de acordo com o seu
## server de testes no seu pc
$diretorio_imagens = '/www/classfoto/fotos_load/';

$uploadfile = $diretorio_imagens . $_FILES['foto']['name'];
if(move_uploaded_file($_FILES['foto']['tmp_name'], $diretorio_imagens . $_FILES['foto']['name'])) {
}

// No caso acima o campo ['foto'] está vindo do fermulário.

E trabalhei e ainda estou trabalhando no sistema de Classificado com Foto, para um site de um amigo!

Alguma coisinha bem simples poderá ser visto no site: www.piresnet.com.br/classfoto

Nota: No meu pc eu uso PHP Version 5.0.3, Apache/1.3.31

Espero ter ajudado!

sluyz@hotmail.com (msn)
Resposta contribuída por Diego Giacomelli em 2005-03-01 19:24:59
 
Mais um exemplo:
function donwloadTargetFileByPHP($fileName, $localFile)
{
$html = "";

$html = @file_get_contents($fileName);

if (strlen($html))
{
// Escreve o arquivo remoto ($fileName) no arquivo local ($localFile)
$file = fopen($localFile, "w+");
fwrite($file, $html);
fclose($file);
return true;
}

return false;
}

Este código é parte do script DG Search And Get, tu podes conferir em
http://www.diegogiacomelli.com.br/index.php?p=content&id=37

Este script mostra bem como copiar recursos remotos, inclusive imagens.
Resposta contribuída por chiquitto em 2005-03-22 05:56:19
 
copy("http://www.phpbrasil.com/imagem.jpg", "imagem.jpg");

é logico que vc tem que ter permissão para salvar esta imagem no diretorio necessário

 
Imprimir  |  Enviar para um Amigo


 
webmaster: João Prado Maia   © 2000 - 2005 phpbrasil.com
Gerado em 0.92 segundos