Why? Error is always set...it's UPLOAD_ERR_OK (0) if there are no errors. $_FILES will always be populated unless someone removes the file input from the form.