Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LegionInvader

Gerador de tumb

Recommended Posts

Olá, primeiramente, legal a modificação no fórum...É o seguinte, eu fiz o seguinte código para gerar tumb:

PHP
<?$img = "sem_imagem.jpg";if ($row_show_produtos['img1'] != NULL) {$img = ($row_show_produtos['img1']);}$dir_imagem = "../img/";$dir_temp = "temp/";$imagem_bd = $img;$imagem = "$imagem_bd";if(file_exists("$dir_imagem$dir_temp$imagem")) { unlink("$dir_imagem$dir_temp$imagem");}$imagem_gerada = "$dir_imagem$dir_temp$imagem"; $imagem_orig = ImageCreateFromJPEG("$dir_imagem$imagem");$largura_orig = imagesx($imagem_orig);$altura_orig = imagesy($imagem_orig);$largura = 100;$a = ($largura*100)/$largura_orig;$b = $a/100;$altura = $altura_orig*$b;$pontoX = imagesx($imagem_orig);$pontoY = imagesy($imagem_orig); $imagem_fin = ImageCreateTrueColor($largura, $altura); ImageCopyResampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY); ImageJPEG($imagem_fin, $imagem_gerada); ImageDestroy($imagem_orig);ImageDestroy($imagem_fin);?><a href="<?php echo "$dir_imagem$img" ?>" target="_blank"><img src="<?php echo $imagem_gerada ?>" border="0"></a>
Com arquivos no servidor, ele funciona certinho, mas com arquivos remotos, ele não funciona...quais modificações eu tenho que fazer para que ele funcione com arquivos remotos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma vez eu precisei fazer uma vez o redimensionamento de imagens e o arquivo tnha que ser remoto (em outro servidor).. :mellow:

 

A alternativa que eu tive foi a seguinte..

 

Abrir o arquivo remoto através do fread .. armazenar o conteúdo desse arquivo em um lugar temporário no servidor... e rodar o script de redimensionamento..

 

logo após rodar o script que redimensiona, elimina o arquivo da pasta temporária do servidor.

 

Eu fiz e funcionou certin...

 

Como o fabyo disse, a funçao nao trablha com arquivos remotos, entao as vezes a gente tem que se virar com outras coisas pra conseguir fazer nossos sistemas funcionarem.. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

A versões Windows do PHP anteriores ao PHP 4.3.0 não suportam acesso a arquivos remotos através desta função, mesmo se allow_url_fopen estiver ativado.

Acho que nas mais novas funciona sim...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta função não trabalha com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

<{POST_SNAPBACK}>

Olá... me deêm uma mãozinha ai...

 

como faço para abrir e armazer numa pasta tempo, uma imagem que está em um site remoto?

 

Mais uma coisa, como faço para um código php ser executado depois que a página html foi carregada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode ler a imagem remota com fopen e trabalhar como quiser

<{POST_SNAPBACK}>

é só eu abrir ela com fopen? e depois finxir que ela está no meu server?

 

tipo:

 

PHP

<?

$img = fopen('http://xxx.xxx.xxx/img.jpg');

 

$dir_imagem = "../img/";

$dir_temp = "temp/";

$tumb = "tumb.jpg";

 

$imagem_gerada = "$dir_imagem$dir_temp$tumb";

$imagem_orig = ImageCreateFromJPEG("$img");

 

$largura_orig = imagesx($imagem_orig);

$altura_orig = imagesy($imagem_orig);

 

$largura = 100;

$a = ($largura*100)/$largura_orig;

$b = $a/100;

$altura = $altura_orig*$b;

 

$pontoX = imagesx($imagem_orig);

$pontoY = imagesy($imagem_orig);

 

$imagem_fin = ImageCreateTrueColor($largura, $altura);

ImageCopyResampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY);

ImageJPEG($imagem_fin, $imagem_gerada);

 

ImageDestroy($imagem_orig);

ImageDestroy($imagem_fin);

?>

<a href="<?php echo "$dir_imagem$img" ?>" target="_blank"><img src="<?php echo $imagem_gerada ?>" border="0"></a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://br.php.net/fopen

 

Nota: As versões para Windows do PHP mais novas que o PHP 4.3 não suportam acesso a arquivos remoto para as seguintes funções: include(), include_once(), require(), require_once(), e as funções imagecreatefromXXX na extensão Referência LII, Imagens, Funções de.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nota: As versões para Windows do PHP mais novas que o PHP 4.3 não suportam acesso a arquivos remoto para as seguintes funções: include(), include_once(), require(), require_once(), e as funções imagecreatefromXXX na extensão Referência LII, Imagens, Funções de.

<{POST_SNAPBACK}>

Isso quer dizer que o códigozinho que fiz irá funcionar ou não!?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

leia o link de fopen você usou errado ali ele precisa de 1 parametro pra funcionar

<{POST_SNAPBACK}>

Opa... e ae Fabyo... tu num gosta de facilitar mesmo heim... mas isso é bom que aprendo mais...

 

vamos lá...

 

modifiquei,

 

olha como ficou:

 

PHP

 

<?

$img = fopen("http://webweaverxxi.com/wallpaper/080200wallpaper/darklagoon2.jpg", "r");

 

$dir_imagem = "pag/img/";

$dir_temp = "temp/";

$tumb = "tumb.jpg";

 

$imagem_gerada = "$dir_imagem$dir_temp$tumb";

$imagem_orig = ImageCreateFromJPEG("$img");

 

$largura_orig = imagesx($imagem_orig);

$altura_orig = imagesy($imagem_orig);

 

$largura = 100;

$a = ($largura*100)/$largura_orig;

$b = $a/100;

$altura = $altura_orig*$b;

 

$pontoX = imagesx($imagem_orig);

$pontoY = imagesy($imagem_orig);

 

$imagem_fin = ImageCreateTrueColor($largura, $altura);

ImageCopyResampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY);

ImageJPEG($imagem_fin, $imagem_gerada);

 

ImageDestroy($imagem_orig);

ImageDestroy($imagem_fin);

?>

<img src="<?php echo $imagem_gerada ?>" border="0">

 

mas não funcionou não...

Na hora que ele tenta exibir a imagem, que no caso é "http://utenti.lycos.it/malojavirtual/pag/img/temp/tumb.jpg" ele da o famoso "x"...

 

e ae... sabe onde tá o erro?

 

coloquei o código pra testar em: http://utenti.lycos.it/malojavirtual/teste.php

entra pra você ver...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.