Copiar imagem redimensionada para diretório

Enviada por Adriano Romagnoli Pires 
Adriano Romagnoli Pires
Copiar imagem redimensionada para diretório
06 de July de 2006 às 08:11PM
Utilizo um script que busca uma imagem num servidor externo e busca num diretório o arquivo:
1) se não existe lá, copia pra lá;
2) se existe, mostra a imagem no tamanho padronizado.
Preciso que o script copie a imagem no tamanho já redimensionado, e não no tamanho original. Ex: a imagem tem 400x300pixel,25kb... copiar 80x?, "menor" kb. Assim penso em melhorar o carregamento da página com imagens menores.
Segue o script:
========
function imageprint ($img) {
$limX = '80'; //largura maxima da imagem!
$nome_cache = 'cache_img/' . preg_replace('/[^\w\d.]+/', '_', $img);
if (!file_exists($nome_cache))
{
// copia o arquivo para um diretório local
include_once('/usr/local/lib/url.php');
$fp = fopen2($img, 'r') or die("Erro ao abrir imagem '$img'");
$fp2 = fopen($nome_cache, 'w') or die("Erro ao gravar arquivo '$nome_cache'");
while (!feof($fp))
fwrite($fp2, fread($fp, 16384));
fclose($fp);
fclose($fp2);
}
$size = getimagesize($nome_cache);
if ($size[0] > $limX) {
$scale = $size[0] / $limX;
}else $scale = '1';
$w = intval($size[0] / $scale);
$h = intval($size[1] / $scale);
echo "<img src=\"$nome_cache\" ALT=\"Clique para saber detalhes\" WIDTH=\"$w\" HEIGHT=\"$h\" BORDER=\"0\">";
}
====
a função é chamada assim: <?php echo imageprint($row_rsvitrine['link_imagem']); ?>
=====
Alguém pode me ajudar nisso? tô me atrapalhando nas funções de imagem. Valeu!
Tulio Ribeiro
Re: Copiar imagem redimensionada para diretório
15 de July de 2009 às 07:45PM
Dê uma olha em:

http://phpbrasil.com/phorum/read.php?8,157126,163461#msg-163461

Att

Tulio Ribeiro
Rubens Takiguti Ribeiro
Re: Copiar imagem redimensionada para diretório
15 de November de 2009 às 12:11AM
Acho que você poderia é usar função "copy", não?

http://br.php.net/manual/pt_BR/function.copy.php

É mais simples e otimizada para o propósito.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.