class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
more info about the class
$foo->file_new_name_body = $newName; $foo->image_convert = 'jpg'; $foo->jpeg_quality = 100; if ($foo->image_src_x > $maxWidth) { $foo->image_x = $maxWidth; $foo->image_resize = true; $foo->image_ratio_y = true; }