2010-02-16 4 views
0

Проблема в том, что я хочу проверить, слишком ли большой файл для загрузки, чтобы я мог отображать соответствующее сообщение об ошибке, но когда файл больше, чем upload_max_filesize в php.ini, он, кажется, отображает только 0.

Почему это происходит? Как я могу проверить, что файл слишком велик, чтобы дать соответствующую ошибку?

ответ

4

См http://php.net/manual/en/features.file-upload.errors.php

Соответствующий отрывок:

Начиная с PHP 4.2.0, PHP возвращает соответствующий код ошибки вместе с массивом файла. Код ошибки может быть найден в сегменте ошибки файла массив, который создается во время файла Загрузка по PHP. Иными словами, ошибка может быть найдена в $ _FILES ['userfile'] ['error'].

UPLOAD_ERR_OK Значение: 0; Ошибка , файл загружен с успехом.

UPLOAD_ERR_INI_SIZE Значение: 1; Загруженный файл превышает директиву upload_max_filesize в php.ini.

1

тот факт, что файл присутствует и говорит 0, указывает на то, что произошла ошибка ... обычно это ограничение по размеру файла. Соответствующая ошибка .

Редактировать: Как отмечается ниже, соответствующая ошибка находится на $ _FILES ['userfile'] ['error'].

+1

No. Соответствующая ошибка находится на $ _FILES ['userfile'] ['error'] –

+0

Конечно! Как я мог быть настолько слеп, спасибо :) – Atomix

+0

@Atomix: Почему вы приняли неправильный ответ? :) –