Как исправить Sorry, you are not allowed to upload this file type.?

Ссылка скопирована
1 ответ

Через медиа менеджер ни в какую не хочет загружать файлы webm
добавил в functions

function custom_upload_mimes($existing_mimes = array()) {     // Добавляем формат WebM в список разрешенных     $existing_mimes['webm'] = 'video/webm';     return $existing_mimes; } add_filter('upload_mimes', 'custom_upload_mimes');

function custom_upload_mimes($existing_mimes = array()) { // Добавляем формат WebM в список разрешенных $existing_mimes['webm'] = 'video/webm'; return $existing_mimes; } add_filter('upload_mimes', 'custom_upload_mimes');

добавил в htaccess

<IfModule mod_mime.c>     AddType video/webm .webm </IfModule>

<IfModule mod_mime.c> AddType video/webm .webm </IfModule>

поставил уже и плагин Enable Media Replace
поставил WP Extra File Types / добавил webm = video/webm
так же в конфиг добавлено
define('ALLOW_UNFILTERED_UPLOADS', true);

mp4 грузит без проблем
webm нет

сайт на годдеди, подозреваю что там где то запрет стоит

кидает ошибку при загрузке
Sorry, you are not allowed to upload this file type.

на локальном сервере стоит несколько сайтов на wp, там грузит без проблем
даже не внося настройки выше

Дополнительные вопросы

pantsarny @pantsarny https://developer.wordpress.org/reference/hooks/mi... Ответы на вопрос 0

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Frontend-редакция Ответ

Ошибка Sorry, you are not allowed to upload this file type означает, что WordPress не пропускает файл на этапе проверки типа. Для webm одного upload_mimes иногда недостаточно, потому что WordPress дополнительно проверяет реальный MIME через wp_check_filetype_and_ext. Особенно часто это проявляется на старых версиях WordPress, при нестандартной настройке PHP fileinfo или когда сервер отдаёт не тот MIME.

Начните с минимального кода в отдельном плагине или в functions.php дочерней темы:

add_filter('upload_mimes', function ($mimes) {
    $mimes['webm'] = 'video/webm';
    return $mimes;
});
 
add_filter('wp_check_filetype_and_ext', function ($data, $file, $filename, $mimes) {
    $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
 
    if ($ext === 'webm') {
        $data['ext']  = 'webm';
        $data['type'] = 'video/webm';
    }
 
    return $data;
}, 10, 4);

add_filter('upload_mimes', function ($mimes) { $mimes['webm'] = 'video/webm'; return $mimes; }); add_filter('wp_check_filetype_and_ext', function ($data, $file, $filename, $mimes) { $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); if ($ext === 'webm') { $data['ext'] = 'webm'; $data['type'] = 'video/webm'; } return $data; }, 10, 4);

После добавления кода очистите кэш и попробуйте загрузить заведомо корректный .webm. Если не работает, проверьте, что PHP умеет определять MIME. На некоторых хостингах расширение fileinfo отключено или работает странно. Это можно увидеть в «Инструменты → Здоровье сайта → Информация → Сервер».

Строка в .htaccess тоже полезна, но она отвечает за отдачу файла браузеру, а не за разрешение загрузки в медиабиблиотеку:

<IfModule mod_mime.c>
    AddType video/webm .webm
</IfModule>

<IfModule mod_mime.c> AddType video/webm .webm </IfModule>

ALLOW_UNFILTERED_UPLOADS я бы не включал без крайней необходимости. Это грубое разрешение, которое снижает безопасность, особенно если в админке работают не только доверенные администраторы. Лучше точечно разрешить нужное расширение.

Если файл всё равно режется, проверьте его настоящую структуру: иногда файл имеет расширение .webm, но внутри другой контейнер. Попробуйте пересохранить через ffmpeg:

ffmpeg -i input.mp4 -c:v libvpx-vp9 -c:a libopus output.webm

ffmpeg -i input.mp4 -c:v libvpx-vp9 -c:a libopus output.webm

Итог: для WordPress нужен фильтр MIME, иногда фильтр проверки типа, а для браузера — корректный MIME на сервере. Все три части решают разные задачи.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно