2015-04-28 2 views
0

Я создал форму загрузки. Он отлично работает, когда я загружаю небольшие файлы. Форма html не работает. Когда я пытаюсь загрузить большие файлы. Вы когда-нибудь испытывали это?Почему HTML-форма перестала работать с большими файлами?

+1

где ваш код? – Saty

+2

Возможный дубликат [PHP изменить максимальный размер загружаемого файла] (http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size) – Mike

+2

проверить максимальный размер загружаемого файла в вашем php .ini'. –

ответ

0

В зависимости от вас версии PHP, вы можете попробовать что-то вроде:

ini_set('post_max_size', '32M'); 
ini_set('upload_max_filesize', '32M'); 
ini_set('memory_limit', '32M'); 

просто заменить «32» с желаемым максимальным размером.

+0

Используйте -1 вместо 32, что означает отсутствие ограничений. Примечание. При настройке также учитывайте размер оперативной памяти. –

+0

Большое вам спасибо. –

1

По умолчанию PHP допускает максимальную загрузку файла 2 МБ. Вы можете попросить пользователей изменить размер изображений перед загрузкой, но давайте посмотрим правде в глаза: они не будут. К счастью, мы можем увеличить предел, когда это необходимо.

Два варианта конфигурации PHP управляют максимальным размером загрузки: upload_max_filesize и post_max_size. Оба могут быть установлены, например, «10M» для размеров файлов размером 10 мегабайт.

Однако вам также необходимо учитывать время, необходимое для завершения загрузки. PHP-скрипты обычно тайм-аут через 30 секунд, но для 10-мегабайтного файла потребуется не менее 3 минут для загрузки на здоровое широкополосное соединение (помните, что скорость загрузки обычно в пять раз медленнее, чем скорость загрузки). Кроме того, манипулирование или сохранение загруженного изображения также может вызывать тайм-ауты сценария. Поэтому нам необходимо установить PHP max_input_time и max_execution_time примерно на 300 (5 минут, указанных в секундах).

Эти параметры могут быть установлены в файле конфигурации php.ini вашего сервера, так что они относятся ко всем вашим applications.if вы используете Apache, вы можете настроить параметры в .htaccess файл приложения:

php_value upload_max_filesize 10M 
php_value post_max_size 10M 
php_value max_input_time 300 
php_value max_execution_time 300 

Наконец вы можете определить ограничения, в пределах вашего PHP приложения:

ini_set('upload_max_filesize', '10M'); 
ini_set('post_max_size', '10M'); 
ini_set('max_input_time', 300); 
ini_set('max_execution_time', 300); 

PHP также предоставляет set_time_limit() функцию, так что вам не нужно устанавливать max_execution_time непосредственно.

Настройка параметров в вашем PHP-коде возможно более практична, поскольку вы можете продлить время выполнения и увеличить размер файла, когда ваше приложение ожидает большой загрузки. Другие формы вернутся к 30-секундному тайм-ауту по умолчанию и ограничению 2 МБ.

+0

Спасибо, это тоже сработает –