Объяснение сообщений об ошибках

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().