Php ini set upload size

How to Increase File Upload Size in PHP

Are you a PHP developer or a system administrator managing servers that host PHP applications? Are you looking for a way to increase or set file upload size in PHP? If yes, then follow this article that shows you how to increase file upload size in PHP and also will explain some of PHP’s core directives for handling file uploads as well as POST data.

By default, PHP file upload size is set to maximum 2MB file on the server, but you can increase or decrease the maximum size of file upload using the PHP configuration file ( php.ini ), this file can be found in different locations on different Linux distributions.

# vim /etc/php.ini [On Cent/RHEL/Fedora] # vim /etc/php/7.0/apache2/php.ini [On Debian/Ubuntu]

To increaes file upload size in PHP, you need to modify the upload_max_filesize and post_max_size variable’s in your php.ini file.

upload_max_filesize = 10M post_max_size = 10M

In addition, you can also set the maximum number of files allowed to be uploaded simultaneously, in a single request, using the max_file_uploads . Note that from PHP 5.3.4 and laster versions, any upload fields left blank on submission do not count towards this limit.

Читайте также:  Php test method post

The variable post_max_size which is used to set the maximum size of POST data that PHP will accept. Setting a value of 0 disables the limit. If POST data reading is disabled via enable_post_data_reading, then it is ignored.

Once you have made the above changes, save the modified php.ini file and restart the web server using following commands on your respective Linux distributions.

--------------- SystemD --------------- # systemctl restart nginx # systemctl restart httpd # systemctl restart apache2 --------------- Sys Vinit --------------- # service nginx restart # service httpd restart # service apache2 restart

Thats It! In this short article, we have explained how to increase the file upload size in PHP. If you know any other way or have any questions do share with us using our comment section below.

Источник

Установка лимитов PHP на обработку данных из форм

Перечень настроек PHP, которые могут ограничить отправку форм и файлов через POST-запрос.

Описание директив

post_max_size

Устанавливает максимальный размер данных, отправленных методом POST, включая размер загружаемых файлов, по умолчанию 8Mb .

  • Для загрузки больших файлов это значение должно быть больше значения upload_max_filesize.
  • Значение можно указать числом в байтах, K (в килобайтах), M (в мегабайтах) и G (в гигабайтах).
  • Значение «0» снимает ограничение только в версиях PHP 5.3.2 и 5.2.12.

Пример в htaccess:

php_value post_max_size 100M

upload_max_filesize

Максимальный размер загружаемых файлов на сервер. По умолчанию 2Mb.

Пример:

php_value upload_max_filesize 100M

max_input_vars

Максимальное количество переменных, которое может быть принято в одном запросе. По умолчанию 1000.

Если данный лимит будет превышен, то после отправки формы массив $_GET или $_POST будет пустым.

Пример:

php_value max_input_vars 2000

max_execution_time

Директива задаёт максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если этого не происходит, работа скрипта завершается. По умолчанию на загрузку даётся 30 секунд.

Значение «0» снимает ограничение на время выполнения.

Пример:

php_value max_execution_time 600

Также, максимальное время выполнения скрипта задает функция set_time_limit($seconds) .

max_input_time

Задаёт максимальное время в секундах, в течение которого скрипт должен разобрать все входные POST или GET данные. Это время измеряется от момента, когда PHP вызван на сервере до момента, когда скрипт начинает выполняться.

  • Значение по умолчанию «-1» – будет использоваться max_execution_time.
  • Значение «0» – без ограничений по времени.

Пример:

php_value max_input_time 600

memory_limit

Задаёт максимальный объем памяти в байтах, который разрешается использовать скрипту. По умолчанию 128Mb.

Пример:

php_value memory_limit 200M

Установка директив в .htaccess

# Максимальный размер данных php_value post_max_size 110M # Максимальный размер файлов php_value upload_max_filesize 100M # Максимальное количество переменных php_value max_input_vars 2000 # Максимальное время выполнения скрипта php_value max_execution_time 600 # Максимальное время обработки данных php_value max_input_time 600 # Память для скрипта php_value memory_limit 200M 

Установка директив в PHP-скрипте

ini_set('post_max_size', '110M'); // Максимальный размер данных ini_set('upload_max_filesize', '100M'); // Максимальный размер файлов ini_set('max_input_vars', '2000'); // Максимальное количество переменных ini_set('max_execution_time', '600'); // Максимальное время выполнения скрипта ini_set('max_input_time', '600'); // Максимальное время обработки данных ini_set('memory_limit', '200M'); // Память для скрипта

Получение значений в PHP-скрипте

Действующие значения настроек PHP можно посмотреть с помощью функции phpinfo() или получить значение параметра настройки с помощью функции ini_get($option) .

Получение значения upload_max_filesize в PHP:

'; echo 'Максимальный размер файлов: ' . ini_get('upload_max_filesize') . '
'; echo 'Максимальное количество переменных: ' . ini_get('max_input_vars') . '
'; echo 'Максимальное время выполнения скрипта: ' . ini_get('max_execution_time') . '
'; echo 'Максимальное время обработки данных: ' . ini_get('max_input_time') . '
'; echo 'Память для скрипта: ' . ini_get('memory_limit') . '
';

Результат:

Максимальный размер данных: 128M Максимальный размер файлов: 128M Максимальное количество переменных: 10000 Максимальное время выполнения скрипта: 300 Максимальное время обработки данных: -1 Память для скрипта: 1024M

Возможные ошибки

После отправки формы с множеством полей, массив $_POST пустой.
В форме количество полей превышает значение max_input_vars.

Ошибка «Fatal error: Allowed memory size»
Скрипт превысил значение параметра PHP memory_limit.

Ошибка «504 Gateway Time Out»
– Скрипт выполняется слишком долго, нужно увеличить значение max_execution_time. Как правило после вывода этой ошибки в браузере, скрипт будет еще какое-то время работать.

Источник

Как увеличить максимальный размер загружаемых файлов PHP

Как увеличить максимальный размер загружаемых файлов PHP

Если вы столкнулись с тем, что при загрузке файла большого размера через PHP у вас не получается его загрузить и форма сбрасывает отправку, то это говорит о том, что настройки сервера, где расположен сайт, позволяют загружать файлы только до установленного размера. Но это не беда, ведь данный лимит можно увеличить.

Лимит на загрузку может быть установлен в нескольких местах с помощью специальных директив.

Директивы upload_max_filesize и post_max_size

Директива upload_max_filesize определяет максимальный размер загружаемых файлов на сервер.

Директива post_max_size определяет максимальный размер POST запросов при отправке файлов с форм. Его значение должно быть больше или равно максимальному размеру загружаемых файлов.

Конфигурационный файл php.ini

Если у вас есть доступ к файлу php.ini на сервере где расположен сайт, то можно изменить значения upload_max_filesize и post_max_size

PHP функция ini_set()

Ограничение на уровне сайта или веб-приложения обычно дается в файлах php путем изменения директив upload_max_filesize и post_max_size через функцию ini_set():

ini_set('upload_max_size','30M'); ini_set('post_max_size','30M');

Файл .htaccess

Если вы используете веб-сервер Apache, то можете через файл .htaccess увеличить значения upload_max_filesize и post_max_size:

php_value upload_max_filesize 30M php_value post_max_size 30M

Ngnix client_max_body_size

В веб-сервере Ngnix есть также директива client_max_body_size, которая отвечает за максимальный размер данных передаваемых в HTTP запросах и влияет на максимальный размер загружаемых файлов. При загрузке файла большого размера сервер может выдать ошибку: 413 Request Entity Too Large, которая будет означать, что клиент отправил слишком большой запрос на сервер и пора повышать лимит.

Источник

Оцените статью