Максимальный размер загружаемых файлов в WordPress может быть установлен на уровне конфигурации WordPress, на уровне конфигурации PHP или на уровне веб-сервера. Зачастую оно составляет всего 2Мб.
Как узнать максимальный размер для загружаемых файлов в WordPress
1 |
$max_upload_size = wp_max_upload_size(); // Возвращает integer в байтах |
Фильтр WordPress
Фильтр upload_size_limit функции wp_max_upload_size() определяет максимальный размер загружаемых файлов. По-умолчанию берётся наименьшее из значений двух директив upload_max_filesize (максимальный размер загружаемого файла) и post_max_size (максимальный размер отправляемого фйла на сервер методом POST) из конфига php, — php.ini. Значение фильтра WordPress можно задавать только в пределах upload_max_filesize и post_max_size .
Некоторые WP-плагины могут использовать фильтр upload_size_limit. Если это так, то повторное использование в коде upload_size_limit может не срабатывать.
Можно использовать данный фильтр для того, чтобы изменить максимальный размер загружаемых файлов (например, для пользователей определённой группы):
1 2 3 4 |
function my_upload_size_limit( $limit ) { add_filter( 'upload_size_limit', 'my_upload_size_limit' ); return wp_convert_hr_to_bytes( '5M' ); } |
Настройка php
В конфиге PHP — php.ini с помощью директивы upload_max_filesize обычно установлен максимальный размер загружаемых на сервер файлов.
1 |
upload_max_filesize = 10M |
Также в php.ini определяется максимальный размер POST запросов — post_max_size, который должен быть больше или равен upload_max_filesize:
1 |
post_max_size = 10M |
После внесения изменений в конфигурацию — php следует перезапустить.
Функция ini_set()
Директивы upload_max_filesize и post_max_size можно изменять с помощью php функции ini_set() (если это разрешено в настройке интерпретатора!). Для этого в файле wp-config.php или в коде плагина следует вставить следующий код: :
1 2 |
ini_set( 'upload_max_size' , '10M' ); ini_set( 'post_max_size', '10M'); |
Через .htaccess для сервера Apache
Директивы php можно прописывать в файле .htaccess. Поэтому, в файл .htaccess можно добавить следующие значения:
1 2 |
php_value upload_max_filesize 10M php_value post_max_size 10M |
Это очень удобно, т.к. перезапуск Apache не требуется, изменения в .htaccess начинают работать сразу после сохранения.
Чрез nginx.conf для сервера Nginx
Если PHP настроен как FastCGI клиент, то в nginx.conf можно указать следующие директивы :
1 2 |
fastcgi_param PHP_VALUE upload_max_filesize=10M; fastcgi_param PHP_VALUE post_max_size=10M; |
Также в nginx существует директива client_max_body_size (влияет на максимальный размер загружаемых файлов) она определяет максимальный размер данных передаваемых в HTTP запросах.
Для того, чтобы изменения вступили в силу nginx необходимо перезапустить.
Свежие комментарии