img_original=ruta de la imagen original
img_nueva=ruta donde se guardara la imagen redimensionada
img_nueva_calidad=calidad de la imagen redimensionada ejm 75
Código PHP:
function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_calidad)
{
// crear imagen desde original
$img = imagecreatefromjpeg($img_original);
// redimensionar imagen original copiandola en la imagen
$anchura=800;//altura que deseas
$hmax=600;//ancho que quieres
$datos = getimagesize($img_original);
if($datos[2]==1){$img = @imagecreatefromgif($img_original);}
if($datos[2]==2){$img = @imagecreatefromjpeg($img_original);}
if($datos[2]==3){$img = @imagecreatefrompng($img_original);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if($altura>$hmax)
{
$anchura2=$hmax*$anchura/$altura;
$altura=$hmax;$anchura=$anchura2;
}
$thumb = imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
// guardar la imagen redimensionada donde indica $img_nueva
imagejpeg($thumb,$img_nueva,$img_nueva_calidad);
}