Изменение максимального размера загружаемого файла
У меня есть веб-сайт, размещенный на ПК, к которому у меня нет доступа. На сайте есть форма загрузки, позволяющая пользователям загружать файлы формата 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
Функции startsWith() и endsWith() в PHP
Как получить расширение файла в PHP?
Как читать большой файл построчно?
ReCaptcha 2.0 с использованием AJAX
Почему нельзя вызывать абстрактные функции из абстрактных классов в PHP?