Ola pessoal, hoje vou postar um script show de bola para redimensionar e compactar imagens JPG utilizando PHP. Dessa forma as pessoas que utilizam seu sistema,projeto, etc poderão enviar N imagens sem que você comece ter problema com o espaço de armazenamento.
Fiz uns testes e segue um exemplo do resultado:
Tamanho Original: 9000x5692 (4.574.018B)
Tamanho Compactado: 1500x948 (203.886B)
Porcentagem tamanho original: 4.4575%
Para o script funcionar o php do servidor deve ter o modulo GD habilitado. Caso veja no php.ini devera ver isso:
GD Support enabled
Sem mais delongas segue o código:
Fonte: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Fiz uns testes e segue um exemplo do resultado:
Tamanho Original: 9000x5692 (4.574.018B)
Tamanho Compactado: 1500x948 (203.886B)
Porcentagem tamanho original: 4.4575%
Para o script funcionar o php do servidor deve ter o modulo GD habilitado. Caso veja no php.ini devera ver isso:
GD Support enabled
Sem mais delongas segue o código:
Código PHP:
<?php
function reduz_imagem_jpg($img, $max_x, $max_y, $nome_foto) {
//pega o tamanho da imagem ($original_x, $original_y)
list($width, $height) = getimagesize($img);
$original_x = $width;
$original_y = $height;
// se a largura for maior que altura
if($original_x > $original_y) {
$porcentagem = (100 * $max_x) / $original_x;
} else {
$porcentagem = (100 * $max_y) / $original_y;
}
$tamanho_x = $original_x * ($porcentagem / 100);
$tamanho_y = $original_y * ($porcentagem / 100);
$image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);
$image = imagecreatefromjpeg($img);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);
//o 75 define a qualidade da imagem que sera salva
return imagejpeg($image_p, $nome_foto, 75);
}
//utilizacao
reduz_imagem_jpg($img_original, $max_x, $max_y, $destino_foto);
?>
Comment