Tengo una duda que me esta volviendo loco, tengo este codigo en php para subir imágemes a mi servidor, y me gustaria añadirle un pequeño codigo que redimensionara las imagenes a 640 x 480, por ejemplo. ¿Y si este tema ya ha sido tratado donde puedo encontra la respuesta?
Mi codigo es este.

<style type="text/css">
<!--
body {
background-color: #c6d5e8;
}
-->

</style>
<p align="center"><img src="sube.gif" alt="subir" width="295" height="50" />
<form enctype="multipart/form-data" action="<? echo $PHP_SELF;?>" method="post">
<p align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="8000000">
<strong>Subir esta imagen:</strong>
<input name="imagen" type="file">
</p>
<p align="center">
<input type="submit" name='submit' value="Subir Fichero">
</p>
</form>
<p align="center">Env&iacute;anos tus fotos sin m&aacute;s complicaciones.
<p align="center">S&oacute;lo im&aacute;genes JPEG.
<p>
<?php
if(isset($submit)){
if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg" || $_FILES['imagen']['type'] == "image/JPG"){
//nuevo nombre para la imagen
$nuevoNombre = time().".jpg";
//movemos la imagen
move_uploaded_file($_FILES['imagen']['tmp_name'], "fotografias/$nuevoNombre");
//obtenemos la inforamción
$data = GetImageSize("fotografias/$nuevoNombre");
//mensaje de éxito
echo "<$data[3]> <br>imagen $nuevoNombre subida con éxito";
mail ("[email protected]", "Nueva imagen", "ha recibido una nueva imagen con unas dimensiones: $data[3]", "From: webmaster@$SERVER_NAME\nReplay-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/". phpversion());
}else{
echo "Formato no válido para fichero de imagen";
}
} else {
echo "Error al cargar imagen: " . $_FILES['imagen']['name'];
}
}
?>

¿Qué puedo añadir al codigo para conseguir esto?
Un saludo y gracias.