Изменить максимальный размер загружаемого файла - PullRequest
473 голосов
/ 02 февраля 2010

У меня есть веб-сайт, размещенный на ПК, к которому у меня нет доступа. У меня есть форма загрузки, позволяющая людям загружать mp3 файлы размером до 30 МБ. Мой серверный скрипт выполняется на PHP.

Каждый раз, когда я пытаюсь загрузить файл, я получаю сообщение об ошибке, утверждающее, что файл превышает максимально допустимый размер, поэтому мне нужно увеличить его. Мое исследование в Интернете предложило изменить файл .htaccess, к которому у меня нет доступа, чтобы он не работал. Другие предложили мне добавить в корень пользовательский файл php.ini, который не работал. Любые другие предложения?

Ответы [ 15 ]

824 голосов
/ 02 февраля 2010

Вам нужно установить значения upload_max_filesize и post_max_size в вашем php.ini:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

После изменения файла (ов) php.ini необходимо перезапустить сервер HTTP, чтобы использовать новую конфигурацию.

Если вы не можете изменить свой php.ini, вам не повезло. Вы не можете изменить эти значения во время выполнения; загрузка файла, превышающего значение, указанное в php.ini, завершится неудачно, когда время выполнения достигнет вашего вызова ini_set.

См. Описание основных директив php.ini .

136 голосов
/ 02 февраля 2010

Вы можете изменить его с помощью файла .htaccess.

.htaccess файлы хранятся в том же каталоге, что и ваши .php файлы. Они изменяют конфигурацию для этой папки и всех подпапок. Вы просто используете их, создав файл .htaccess в выбранном вами каталоге (или измените его, если он есть).

Следующее должно позволить вам увеличить лимит загрузки (если поставщик сервера разрешает изменения конфигурации PHP через .htaccess).

php_value upload_max_filesize 40M
php_value post_max_size 42M
55 голосов
/ 31 июля 2013

У меня была такая же проблема, и я создал файл .user.ini и поместил его в каталог, в котором находился скрипт загрузки.Затем в этом файле я установил эти два значения:

  upload_max_filesize = 40M

  post_max_size = 40M

, и это прекрасно сработало для меня!

51 голосов
/ 26 января 2013

Вы также можете использовать функцию ini_set (только для версии PHP ниже 5.3):

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

Как сказал @acme, в php 5.3 и выше эти настройки являются директивами PHP_INI_PERDIR, поэтомуне может быть установлен с помощью ini_set.Вместо этого вы можете использовать user.ini.

44 голосов
/ 24 августа 2013

Чтобы найти INI-файл, сначала запустите

php -i | grep -i "loaded configuration file"

Затем откройте файл и измените

upload_max_filesize = 2M
post_max_size = 2M

замена 2M на нужный размер, например 100M.

У меня есть запись в блоге с немного большей информацией http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-file-for-wordpress

38 голосов
/ 04 июня 2013

У меня была такая же проблема в прошлом .. и я исправил ее через .htaccess file

Когда вы вносите изменения в php-конфигурацию через .htaccess, вы должны поместить настройки в IfModule тег, кроме того, что Внутренняя ошибка сервера возникнет.

Это пример, у меня он отлично работает:

<IfModule mod_php5.c>
   php_value upload_max_filesize 40M
   php_value post_max_size 40M
</IfModule>

И это ссылка на php, если вы хотите понять больше. http://php.net/manual/en/configuration.changes.php

12 голосов
/ 17 сентября 2015

Я решил эту проблему, создав файл с именем .user.ini в каталоге, в котором находятся скрипты PHP-файлов (это означает, что любой скрипт PHP в этом каталоге получает новый предел размера файла)

Содержимое .user.ini было:

upload_max_filesize = 40M
post_max_size = 40M
5 голосов
/ 05 апреля 2017

У меня была такая же проблема. Я пробовал три способа, которые обычно предлагались:

  1. functions.php
  2. php.ini
  3. .htaccess

нет, если это решило мою проблему. Я использую Godaddy и наткнулся на предложенное решение, которое было:

  1. добрался до Веб-хостинг , затем Управление
  2. Под Программное обеспечение Выбрать Выбрать версию PHP
  3. Выбрать Переключиться на PHP Options находится в правом верхнем углу таблицы в цвет шрифта: синий
  4. В нижней части вы, вероятно, будете иметь upload_max_filesize = 2M
  5. Теперь смело меняйте его
  6. Обязательно нажмите кнопку Сохранить !
  7. Теперь перейдите на панель wp-admin, выберите Media , затем Add

Voila! Теперь у вас есть другой максимальный размер загружаемого файла:)

4 голосов
/ 13 апреля 2018

ответы немного неполные, 3 вещи, которые вы должны сделать

в php.ini вашей установки php (примечание: в зависимости от того, хотите ли вы его для CLI, apache или nginx, найдите нужный php.ini для работы. Для nginx он обычно находится в /etc/php/7.1/fpm, где 7.1 зависит от ваша версия. Для apache обычно /etc/php/7.1/apache2)

post_max_size=500M

upload_max_filesize=500M

memory_limit=900M

или установите другие значения. Перезапустите / перезагрузите apache, если у вас установлен apache, или php-fpm для nginx, если вы используете nginx.

4 голосов
/ 30 августа 2017

много раз я заметил, что сайт с общим хостингом не позволяет изменять настройки в файлах php.ini.один также не может даже создать файл .htaaccess вообще.в такой ситуации можно попробовать следующие вещи

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...