PHP наряду с другими атрибутами принятого файла возвращает код ошибки.
Код ошибки хранится в массиве, который PHP создаёт
при загрузке файла, и доступен при обращении по ключу
error
. Другими словами, код ошибки
находят в переменной $_FILES['userfile']['error'].
UPLOAD_ERR_OK
Значение: 0; ошибки не возникали, файл успешно загрузился на сервер.
UPLOAD_ERR_INI_SIZE
Значение: 1; размер принятого файла превысил максимально допустимый размер, который задали директивой upload_max_filesize конфигурационного файла php.ini.
UPLOAD_ERR_FORM_SIZE
Значение: 2; размер загружаемого файла превысил значение MAX_FILE_SIZE, которое указали в HTML-форме.
UPLOAD_ERR_PARTIAL
Значение: 3; PHP получил загружаемый файл частично.
UPLOAD_ERR_NO_FILE
Значение: 4; файл не загрузился.
UPLOAD_ERR_NO_TMP_DIR
Значение: 6; отсутствует временная папка.
UPLOAD_ERR_CANT_WRITE
Значение: 7; не удалось записать файл на диск.
UPLOAD_ERR_EXTENSION
Значение: 8; модуль PHP остановил загрузку файла. PHP не даёт способа определить, какой модуль остановил загрузку файла; в этом помогает просмотр списка загруженных модулей, который возвращает функция phpinfo().