Saludos!
Asi es, primero nescecitas asegurarte de tener las librerias GD, ya que las tengas intenta esto.
Crea la siguiente funcion en el archivo
upload.php Código PHP:
<?php
function redimensionar($imagen, $nombre_imagen_asociada){
//directorio donde se va la imagen
$directorio = 'imagenes/' ;
//limites de ancho y alto
$nuevo_ancho = 100 ;
$nuevo_alto = 100 ;
//informacion de la imagen
$info_imagen = getimagesize($imagen);
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];
//Determina las nuevas medidas
if($ancho > $nuevo_ancho OR $alto > $nuevo_alto){
if(($alto - $nuevo_alto) > ($ancho - $nuevo_ancho)){
$nuevo_ancho = round($ancho * $nuevo_alto / $alto,0);
}else{
$nuevo_alto = round($alto * $nuevo_ancho / $ancho,0);
}
}else{
//si la imagen es mas pequeña se queda igual
$nuevo_alto = $alto;
$nuevo_ancho = $ancho;
}
//dependiendo del tipo de imagen usar diferente funcion
switch ($tipo_imagen){
case 1: //si es gif ...
$imagen_nueva = imagecreate($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromgif($imagen);
//cambio de tamaño...
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagegif($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;
case 2: //si es jpeg ...
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromjpeg($imagen);
//cambio de tamaño...
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagejpeg($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;
case 3: //si es png ...
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefrompng($imagen);
//cambio de tamaño...
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagepng($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;
}
return true; //si todo ha ido bien
}
?>
Despues, al final de tu funcion de upload, ya que halla subido la imagen, aplicas la funcion anterior.
Código PHP:
/// Supongamos que subiste la imagen al directorio "imagenes/"
/// y que el nombre de la imagen le diste el valor "$imagen"
redimensionar("imagenes/$imagen","nuevo_nombre.jpg");
Bueno, pues espero que te funcione. Saludos!