switch ($_FILES['Filedata']['error']) { case 0: $msg = "No Error"; // comment this out if you don't want a message to appear on success. break; case 1: $msg = "The file is bigger than this PHP installation allows"; break; case 2: $msg = "The file is bigger than this form allows"; break; case 3: $msg = "Only part of the file was uploaded"; break; case 4: $msg = "No file was uploaded"; break; case 6: $msg = "Missing a temporary folder"; break; case 7: $msg = "Failed to write file to disk"; break; case 8: $msg = "File upload stopped by extension"; break; default: $msg = "unknown error ".$_FILES['Filedata']['error']; break; } If ($msg) $stringData = "Error: ".$_FILES['Filedata']['error']." Error Info: ".$msg; else $stringData = "1"; // This is required for onComplete to fire on Mac OSX echo $stringData;