Para hacer la redimension de las imagenes es muy sencillo, solo necesitas aplicarle una funcion pasandole los parametros necesarios y ya. Te explicare algo sencillo, la funcion solo buscara en tu directorio la imagen segun la ruta que le pases, la copiara y creara una nueva con los tamaños que le asignes. La funcion seria una como esta:
Código PHP:
<?php
function cambiartam($nombre,$archivo,$ancho,$alto)
{
$verificar = explode('.',$nombre);
$tmp = $verificar[1];
if (preg_match('/jpg|jpeg|JPG/',$tmp))
{
$imagen=imagecreatefromjpeg($nombre);
}
if (preg_match('/png|PNG/',$tmp))
{
$imagen=imagecreatefrompng($nombre);
}
if (preg_match('/gif|GIF/',$tmp))
{
$imagen=imagecreatefromgif($nombre);
}
$x=imageSX($imagen);
$y=imageSY($imagen);
if ($x > $y)
{
$w=$ancho;
$h=$y*($alto/$x);
}
if ($x < $y)
{
$w=$x*($ancho/$y);
$h=$alto;
}
if ($x == $y)
{
$w=$ancho;
$h=$alto;
}
$destino=ImageCreateTrueColor($w,$h);
echo imagecopyresampled($destino,$imagen,0,0,0,0,$w,$h,$x,$y);
if (preg_match("/png/",$tmp))
{
imagepng($destino,$archivo);
}
if (preg_match("/gif/",$tmp))
{
imagegif($destino,$archivo);
}
else
{
imagejpeg($destino,$archivo);
}
imagedestroy($destino);
echo imagedestroy($imagen);
}// fin de la función
/*Ahora solo te faltaría aplicarla, lo cual es muy sencillo. Hare un ejemplo con el código que tenias arriba.*/
$nombre_archivo=$_FILES['imagen']['name'];
$tam=getimagesize($nombre_archivo);
if($tam[0] > 500 OR $tam[1] > 500) {
cambiartam($directorio, $directorio, 500, 500);
}
?>
Cualquier duda vuelves a preguntas. Saludos