почему изображения возвращают размер файла = 0 при загрузке? - PullRequest
2 голосов
/ 19 сентября 2010

У меня есть php-форма, которая загружает файлы, и все файлы работают хорошо, предельный размер установлен в 7340032 байта (7 МБ), и он работает нормально, однако, когда я пытаюсь загрузить изображение размером более 500 КБ, когда я отображаю значенияпервое, если:

if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0){

говорит, что размер изображения каждый раз равен 0, почему это произошло?значения php.ini для post_max_size составляют 15M, а для upload_max_filesize - 10M.

1 Ответ

1 голос
/ 19 сентября 2010

Проверка ненулевого размера загружаемого файла не является правильным способом проверки успешности загрузки.Для этого есть параметр ['error'].Неполная загрузка все равно будет иметь ненулевой размер, но не должна обрабатываться.Лучший способ проверить это:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     if ($_FILES['userfile']['error'] !== UPLOAD_ERR_OK) {
        die("File upload error: {$_FILES['userfile']['error']}");
     }
     ... process file here ...
}

Константы кода ошибки определены здесь .

...