Web

Изменение максимального размера загружаемого файла

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

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

 

Ответ 1

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

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

upload_max_filesize = 40M

 

; Должен быть не более чем upload_max_filesize

post_max_size = 40M

 

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

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

 

Ответ 2

Вы можете изменить его через .htaccess файл.

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

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

php_value upload_max_filesize 40M

php_value post_max_size 42M

 

Ответ 3

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

  upload_max_filesize = 40M

  post_max_size = 40M

 

И это отлично сработало!

 

Ответ 4

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

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

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

 

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

 

Ответ 5

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

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

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

<IfModule mod_php5.c>

   php_value upload_max_filesize 40M

   php_value post_max_size 40M

</IfModule>



Ответ 6

В 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.

Схожие статьи

Web

Как выполнить перестановки для любых наборов чисел

Какой хостинг выбрать для сайта
Web

Какой хостинг выбрать для сайта

Оптимизация HTML, CSS и JavaScript: как настроить и ускорить
Web

Оптимизация HTML, CSS и JavaScript: как настроить и ускорить

ТОП-100 паролей сети: лучшие из лучших, худшие из худших
Web

ТОП-100 паролей сети: лучшие из лучших, худшие из худших