Prueba con este script:
Redimensiona la imagen proporcionalmente.
Código PHP:
// **************** CONFIGURACIÓN ******************
$imagen_ancho = 480;
$imagen_alto = 500;
$origen_imagen = "dir/archivo";
$destino_imagen = "dir2/archivo";
// *************************************************
// Recojo información de la imágen
$info_imagen = getimagesize($origen_imagen);
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];
// Calcula el tamaño
if($ancho > $imagen_ancho OR $alto > $imagen_alto){
if(($alto - $imagen_alto) > ($ancho - $imagen_ancho))
{
$imagen_ancho = round($ancho * $imagen_alto / $alto,0) ;
}
else
{
$imagen_alto = round($alto * $imagen_ancho / $ancho,0);
}
}
else
{
$imagen_alto = $alto;
$imagen_ancho = $ancho;
}
$imagen_nueva = imagecreatetruecolor($imagen_ancho, $imagen_alto);
$imagen_vieja = imagecreatefromjpeg($origen_imagen);
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $imagen_ancho, $imagen_alto, $ancho, $alto);
imagejpeg($imagen_nueva, $destino_imagen);