Получение Разрешённых MIME-Типов в WordPress
Функция get_allowed_mime_types() позволяет получить список разрешённых MIME-типов и расширений файлов, которые могут быть загружены в WordPress.
Использование функции
Функция get_allowed_mime_types() используется в других частях WordPress, например, в функции wp_check_filetype_and_ext().
Время выполнения
- 1 раз: ~0.000001 сек (очень быстро)
- 50000 раз: ~0.89 сек
Аргументы
$user(int|WP_User) — пользователь, для которого выполняется проверка.- По умолчанию: текущий пользователь
Пример вызова функции
$mimes = get_allowed_mime_types();
Примеры использования
Пример 1: Получение ссылки на иконку файла по его типу
Создадим функцию, которая будет возвращать ссылку на иконку файла в зависимости от его расширения. Для этого мы используем функцию wp_mime_type_icon($mime).
function get_icon_by_file_extension($file_ext) {
$mimes = get_allowed_mime_types();
foreach ($mimes as $type => $mime) {
if (strpos($type, $file_ext) !== false) {
return wp_mime_type_icon($mime);
}
}
}
echo '
';
Этот код выведет на экран изображение иконки для файлов формата MP4.
Пример 2: Массив разрешённых файлов и их MIME-типов
Вот пример массива, который возвращает функция wp_get_mime_types():
array(
// Форматы изображений
'jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon',
// Форматы видео
'mp4|m4v' => 'video/mp4',
'avi' => 'video/avi',
// ... другие форматы
)
Обратные вызовы из функции
На функцию get_allowed_mime_types() влияет хук upload_mimes, который может изменить список разрешённых MIME-типов перед его возвращением.
Код функции
Вот как выглядит основной код функции get_allowed_mime_types():
function get_allowed_mime_types($user = null) {
$t = wp_get_mime_types();
unset($t['swf'], $t['exe']);
if (function_exists('current_user_can')) {
$unfiltered = $user ? user_can($user, 'unfiltered_html') : current_user_can('unfiltered_html');
}
if (empty($unfiltered)) {
unset($t['htm|html'], $t['js']);
}
return apply_filters('upload_mimes', $t, $user);
}
Заключение
Функция get_allowed_mime_types() полезна для получения списка поддерживаемых типов файлов в WordPress. С её помощью вы можете легко управлять загружаемыми файлами и добавлять собственные типы, если это необходимо.