$ _Files ['file'] ['size'] echoing 0 (Zero) для файлов overload_max_filesize
-
20-09-2019 - |
Вопрос
Проблема в том, что я хочу проверить, слишком ли большой для загрузки файл, чтобы я мог отобразить соответствующее сообщение об ошибке, но когда файл больше, чем upload_max_filesize на php.ini, он, кажется, только отображает 0.
Почему это происходит? Как я могу проверить, что файл слишком велик, чтобы дать соответствующую ошибку?
Решение
Видеть http://php.net/manual/en/features.file-upload.errors.php
Соответствующий выдержка:
Поскольку PHP 4.2.0 возвращает соответствующий код ошибки вместе с массивом файлов. Код ошибки можно найти в сегменте ошибок массива файлов, который создается во время загрузки файла с помощью PHP. Другими словами, ошибка может быть найдена в $ _files ['userfile'] ['error'].
Upload_err_ok значение: 0; Нет ошибки, файл загружен с успехом.
Upload_err_ini_size значение: 1; Загруженный файл превышает директиву upload_max_filesize в php.ini.
Другие советы
Тот факт, что файл присутствует и говорит, что 0 указывает на то, что произошла ошибка ... обычно это ограничение размера файлов. Это соответствующая ошибка.
РЕДАКТИРОВАТЬ: Как упоминается комментатор ниже, соответствующая ошибка на $ _files ['userfile'] ['error'].