Я создал форму загрузки. Он отлично работает, когда я загружаю небольшие файлы. Форма html не работает. Когда я пытаюсь загрузить большие файлы. Вы когда-нибудь испытывали это?Почему HTML-форма перестала работать с большими файлами?
ответ
В зависимости от вас версии PHP, вы можете попробовать что-то вроде:
ini_set('post_max_size', '32M');
ini_set('upload_max_filesize', '32M');
ini_set('memory_limit', '32M');
просто заменить «32» с желаемым максимальным размером.
Используйте -1 вместо 32, что означает отсутствие ограничений. Примечание. При настройке также учитывайте размер оперативной памяти. –
Большое вам спасибо. –
По умолчанию 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 МБ.
Спасибо, это тоже сработает –
где ваш код? – Saty
Возможный дубликат [PHP изменить максимальный размер загружаемого файла] (http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size) – Mike
проверить максимальный размер загружаемого файла в вашем php .ini'. –