Redimensionar imagens com PHP
<?php
function rmkdir($path, $mode = 0777) {
$path = rtrim(preg_replace(array(“/\\\\/”, “/\/{2,}/”), “/”, $path), “/”);
$e = explode(“/”, ltrim($path, “/”));
if(substr($path, 0, 1) == “/”) {
$e[0] = “/”.$e[0];
}
$c = count($e);
$cp = $e[0];
for($i = 1; $i < $c; $i++) {
if(!is_dir($cp) && !@mkdir($cp, $mode)) {
return false;
}
$cp .= “/”.$e[$i];
}
return @mkdir($path, $mode);
}
function resizamos ($img_origem, $pasta_destino, $novo_nome, $novalargura)
{
// Aqui carregamos a imagem original
$img = imagecreatefromjpeg( $img_origem );
//Determinar a largura e a altura da imagem original
$largura = imagesx( $img );
$altura = imagesy( $img );
// Calcular o tamanho que a imagem pequena terá, de modo a nao desfocar.
$nova_largura = $novalargura;
$nova_altura = floor( $altura * ( $novalargura / $largura ) );
// Criar a imagem temporaria
$tmp_img = imagecreatetruecolor( $nova_largura, $nova_altura );
// Copia e faz o resize para a nova imagem
imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura, $altura );
//crio a pasta destino caso não exista
rmkdir($pasta_destino);
// Guarda a imagem na pasta de destino e com o nome pretendido
$uploadnova = $pasta_destino . “/” . $novo_nome . “.jpg”;
imagejpeg( $tmp_img, $uploadnova );
}
resizamos(“img.jpg”,”img”,”thumb1″,1024);
resizamos(“img.jpg”,”thumb”,”thumb2″,100);
?>