// For our purposes, I have resized the image to be 100 pixels wide, and maintain the original aspect ratio. This prevents the image from being "stretched" or "squashed". If you prefer some max width other than 100, simply change the $target variable

// this line actually does the image resizing, copying from the original image into the $tmp image
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);

// now write the resized image to disk. I have assumed that you want the resized, uploaded image file to reside in the ./images subdirectory.
$filename = "images/". $_FILES['image']['name'];
imagejpeg($tmp,$filename,100);

imagedestroy($src);
imagedestroy($tmp); // NOTE: PHP will clean up the temp file it created when the request has completed.