WordPress как на ладони
wordpress jino

Разрешаем загрузку запрещенных типов файлов

WordPress не позволяет загружать в медиатеку что попало - защищается. Файлы нестандартных (не разрешенных) типов загрузить невозможно, потому что в WP есть список допустимых форматов файлов, т.е. белый список mime-типов.

Иногда такая защита мешает, и несмотря на потенциальную опасность все же нужно иметь возможность загружать файлы нужных нам типов.

Ниже рассмотрим, как добавить тип загружаемого файла в белый список.

Вот так выглядит ошибка, если, например, попытаться загрузить файл в расширением .svg:

Разрешаем или удаление типы файлов для загрузки

Для управления белым списком расширений файлов есть несколько хуков:

Пример ниже показывает как разрешить загрузку одних типов файлов (.svg, .doc, .djvu) и как запретить другие (.mp4a) - удалить из белого списка.

add_filter( 'upload_mimes', 'upload_allow_types' );
function upload_allow_types( $mimes ) {
	// разрешаем новые типы
	$mimes['svg']  = 'image/svg+xml';
	$mimes['doc']  = 'application/msword'; 
	$mimes['woff'] = 'font/woff';
	$mimes['psd']  = 'image/vnd.adobe.photoshop'; 
	$mimes['djv']  = 'image/vnd.djvu';
	$mimes['djvu'] = 'image/vnd.djvu';

	// отключаем имеющиеся
	// unset( $mimes['mp4a'] );

	return $mimes;
}

image/svg+xml - это MIME тип svg файла.

По аналогии можно разрешать или запрещать любые другие типы файлов, список MIME типов которые нужны для белого списка, можете найти по ссылке: список MIME типов файлов.

Процесс загрузки файла и проверка его типа

Разрешаем загрузку запрещенных типов файлов Комментариев нет

Здравствуйте, !

Ваш комментарий