2010-01-25 1 views
4

Я пытаюсь отладить очень странную проблему с массивом $ _FILES. Когда я пытаюсь загрузить файл, устанавливается только ключ «name», тип, tmp_name и т. Д. Пусты, и он возвращает ошибку # 1. Например:

Array 
(
    [name] => test.doc 
    [type] => 
    [tmp_name] => 
    [error] => 1 
    [size] => 0 
) 

test.doc является допустимым файлом, я могу открыть его без проблем. Это происходит с кучей файлов, которые я тестировал; doc, pdf, xls, ppt, jpg. Единственными файлами, которые работают, являются txt и gif.

Я получаю эту проблему как на CentOS 5.3, так и на PHP 5.2.6, Apache 2.2.3 и Ubuntu 8.04 с PHP 5.2.4, Apache 2.2.8.

Я думал, что я, возможно, был типом mime, но я проверил типы mime и все распространенные.

Любые идеи? У меня никогда не было этой проблемы раньше!

Спасибо.

ответ

5

Согласно PHP documentation on file uploads, значение ошибки 1 (AKA UPLOAD_ERR_INI_SIZE) означает:

Загруженный файл превышает директиву upload_max_filesize в PHP. ини.

Вы можете попробовать отрегулировать настройку upload-max-filesize.

EDIT: Правильный синтаксис для указания upload_max_filesize в мегабайтах является 25M, не 25MB. Подробности см. На documentation on using shorthand.

+1

Вот оно. Если бы я мог, мог бы продвигаться вперед. –

+0

Хе-хе, Пекка, ты уже сегодня проголосовал 35 раз? – Asaph

+0

Очевидно - у меня закончились голоса! Число 35? –

7

Код ошибки 1 означает, что файл превышает максимальный размер загрузки, заданный в php.ini.

Все различные ошибки сообщения объясняются здесь: http://php.net/manual/en/features.file-upload.errors.php

+0

Если бы я мог - вне голоса на сегодня. –

Смежные вопросы