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.
I don't know the code of your form, but error 2 means: File upload error (the uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form)
Otherwise, try to raise your memory limit and file upload limit in php.iniReply
File upload error (the uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form)
Otherwise, try to raise your memory limit and file upload limit in php.ini