Изменение максимального размера загружаемого файла
У меня есть веб-сайт, размещенный на ПК, к которому у меня нет доступа. На сайте есть форма загрузки, позволяющая пользователям загружать файлы формата mp3 размером до 30 МБ. Серверный скрипт написан на PHP.
Каждый раз, когда я пытаюсь загрузить файл, я получаю ошибку, утверждающую, что файл превышает максимально допустимый размер, поэтому мне нужно увеличить этот предел. Мои исследования в интернете подсказали, что можно изменить файл .htaccess
, но у меня нет к нему доступа, поэтому этот вариант не подходит. Другие источники предложили добавить пользовательский файл php.ini
в корневую директорию, но это тоже не сработало. Есть ли другие предложения?
5 ответ(ов)
Вы можете изменить это с помощью файла .htaccess
.
Файлы .htaccess
находятся в той же директории, что и ваши файлы .php
. Они изменяют конфигурацию для этой папки и всех её подпапок. Вам нужно просто создать файл .htaccess
в нужной директории (или изменить его, если он уже существует).
Следующий код должен помочь вам увеличить лимит на загрузку файлов (если ваш хостинг-провайдер позволяет изменения конфигурации PHP через .htaccess
):
php_value upload_max_filesize 40M
php_value post_max_size 42M
У меня была такая же проблема, и я создал файл .user.ini
, который поместил в каталог, где находился скрипт загрузки. Затем в этом файле я установил следующие два значения:
upload_max_filesize = 40M
post_max_size = 40M
Это сработало отлично для меня!
Чтобы найти файл 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
У меня была такая же проблема в прошлом, и я решил её с помощью файла .htaccess
.
Когда вы вносите изменения в конфигурацию 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
Я решил эту проблему, создав файл с именем .user.ini
в директории, где находятся скрипты PHP (это означает, что любой PHP-скрипт в данной директории будет использовать новый лимит размера файла).
Содержимое файла .user.ini
было следующим:
upload_max_filesize = 40M
post_max_size = 40M
UTF-8 на всех уровнях!
Сортировка двумерного массива по значению в столбце
Что такое потокобезопасность и непотокобезопасность в PHP?
Как передать переменные и данные из PHP в JavaScript?
Вставка нового элемента в массив в любом месте в PHP