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