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

Преобразование массива php в Javascript

Web

Передача переменных JavaScript в PHP?

Web

В чем разница между public, protected и private доступом?

Сравнение VPN-сервисов: выбираем лучший по нескольким критериям
Web

Сравнение VPN-сервисов: выбираем лучший по нескольким критериям