:: novos artigos ::
|
|
|
:: novos scripts ::
|
|
|
|
|
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.
| Pergunta: |
Como copiar uma imagem de um servidor externo na internet e salvar dentro do meu servidor usando o php? |
| Autor: |
Diego
|
|
|
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
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 Diogo Gomes
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.
|
Imprimir |
Enviar para um Amigo
|
|
|