Are you uploading an image over 2mb which is the default PHP server max?
If your PHP memory which by default is set to 8M and your using GD then it could bomb out on large files
At the top of your upload.php file you could try placing these to override PHP's setting's
Code:
Content visible to verified customers only.