Файл расширения CSV - $ _FILES не попадает на сервер для больших данных, таких как 2MB, но для небольших файлов размера KB работает

86
10

Я пытаюсь разобрать CSV файл и загрузить его в базу данных MySQL. Для файлов небольшого размера я получаю $ _FILES ['filename'] ['tmp_name'], и все работает нормально. Но для более крупного файла csv, имеющего больше записей, имеющих размер 2,1 МБ, результат был:

Array
(
[filename] => Array
(
[name] => GECT.csv
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)

)

Что является проблемой, поскольку весь код работает для файлов небольшого размера. Когда я попытался напечатать $ _FILES наверху, я получил этот массив с ошибкой 1. У кого-нибудь была эта проблема, пожалуйста, предложите....

спросил(а) 2015-03-24T16:24:00+03:00 4 года, 8 месяцев назад
1
Решение
45

По умолчанию PHP ограничивает размер загрузки файлов на 2M. Это устанавливается в настройках файла php.ini upload_max_filesize. Вам либо нужно изменить это значение в файле php.ini, либо использовать ini_set() в вашем коде.

// Set maximum upload size to 8M
ini_set('upload_max_filesize', '8M');

Имейте в виду, что если вы используете общий хостинг, не все хосты позволяют вам использовать ini_set().

ответил(а) 2015-03-24T16:26:00+03:00 4 года, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема