Dobrovoi Master
сделано с душой

В состоянии постоянного подключения...
Главная » Wordpress » Список разрешенных типов файлов для загрузки в WordPress

Список разрешенных типов файлов для загрузки в WordPress

Список разрешенных типов файлов для загрузки в WordPress

Всем доброго времени суток!
О том какой популярный и замечательный движок для блогов я распинаться не буду, кто в теме и так все знает и достоинства , и недостатки. Для себя же я открыл его сравнительно недавно, ну что такое три года, барахтанья в блогосфере, так пустячок.  Это к тому, что WP не перестает удивлять своими возможностями, порой правда вгоняя в ступор, чаще из за банальной нехватки информации. Каждый раз узнаешь что то новое, по большей части методом проб и ошибок.
Так вот, если не влезая в словесную мутатень, решил поглубже покопать и до конца узнать , какие же всетаки типы файлов поддерживаются и разрешены для загрузки в системе WordPress. Мы чаще всего используем для загрузки на блог  Image Uploader (крутарям от wp, просьба не подхихикивать), забывая о том, что не только изображения, но другие типы файлов разрешены для загрузки в WP, например такие как PDF, MS Office, OpenOffice, GZ, ZIP и т.д.  Информация конечно есть по теме, но все больше не официальные документы.
Конечно первым делом я попытался найти подробности в Интеренте, но полного обьяснения где, что  и как  мне так и не удалось нарыть, может плохо искал...Так, мне пришлось ковырять исходный код WordPress, благо это у нашего брата в крови, только дай чего нибудь раздербанить, и нашел-таки подробную выкладку функции поддерживаемых файлов для загрузки.  Америку конечно не открыл, но хочу поделиться со всеми страждующими своим открытием, может кому и будет в помощь.

Копаясь в коде, набрел на функцию get_allowed_mime_types () ясно и четко прописанную в / Wp-includes/functions.php файле. Все разрешенные типы файлов в коде этой функции объявлены как «extension» => «mime type». Все разложено, как говориться, по полочкам, смотрим код и дальше распоряжаемся кому как надо:

function get_allowed_mime_types() {
 static $mimes = false;
 
 if ( !$mimes ) {
  // Accepted MIME types are set here as PCRE unless provided.
  $mimes = apply_filters( 'upload_mimes', array(
  'jpg|jpeg|jpe' => 'image/jpeg',
  'gif' => 'image/gif',
  'png' => 'image/png',
  'bmp' => 'image/bmp',
  'tif|tiff' => 'image/tiff',
  'ico' => 'image/x-icon',
  'asf|asx|wax|wmv|wmx' => 'video/asf',
  'avi' => 'video/avi',
  'divx' => 'video/divx',
  'flv' => 'video/x-flv',
  'mov|qt' => 'video/quicktime',
  'mpeg|mpg|mpe' => 'video/mpeg',
  'txt|asc|c|cc|h' => 'text/plain',
  'csv' => 'text/csv',
  'tsv' => 'text/tab-separated-values',
  'rtx' => 'text/richtext',
  'css' => 'text/css',
  'htm|html' => 'text/html',
  'mp3|m4a|m4b' => 'audio/mpeg',
  'mp4|m4v' => 'video/mp4',
  'ra|ram' => 'audio/x-realaudio',
  'wav' => 'audio/wav',
  'ogg|oga' => 'audio/ogg',
  'ogv' => 'video/ogg',
  'mid|midi' => 'audio/midi',
  'wma' => 'audio/wma',
  'mka' => 'audio/x-matroska',
  'mkv' => 'video/x-matroska',
  'rtf' => 'application/rtf',
  'js' => 'application/javascript',
  'pdf' => 'application/pdf',
  'doc|docx' => 'application/msword',
  'pot|pps|ppt|pptx|ppam|pptm|sldm|ppsm|potm' => 'application/vnd.ms-powerpoint',
  'wri' => 'application/vnd.ms-write',
  'xla|xls|xlsx|xlt|xlw|xlam|xlsb|xlsm|xltm' => 'application/vnd.ms-excel',
  'mdb' => 'application/vnd.ms-access',
  'mpp' => 'application/vnd.ms-project',
  'docm|dotm' => 'application/vnd.ms-word',
  'pptx|sldx|ppsx|potx' => 'application/vnd.openxmlformats-officedocument.presentationml',
  'xlsx|xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml',
  'docx|dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml',
  'onetoc|onetoc2|onetmp|onepkg' => 'application/onenote',
  'swf' => 'application/x-shockwave-flash',
  'class' => 'application/java',
  'tar' => 'application/x-tar',
  'zip' => 'application/zip',
  'gz|gzip' => 'application/x-gzip',
  'exe' => 'application/x-msdownload',
  // openoffice formats
  'odt' => 'application/vnd.oasis.opendocument.text',
  'odp' => 'application/vnd.oasis.opendocument.presentation',
  'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
  'odg' => 'application/vnd.oasis.opendocument.graphics',
  'odc' => 'application/vnd.oasis.opendocument.chart',
  'odb' => 'application/vnd.oasis.opendocument.database',
  'odf' => 'application/vnd.oasis.opendocument.formula',
  // wordperfect formats
  'wp|wpd' => 'application/wordperfect',
  ) );
 }
 
 return $mimes;
}

Из приведенного выше кода явно видно, какие типы файлов поддерживаются для загрузки в WP. О том как разрешить загружать различные типы файлов, не поддерживаемые движком, нашел в свое время у Е.П выручалку. Наверняка каждый сталкивался с такой ситуевиной, когда пытаясь загрузить не очень распространенных форматов на ваш блог, бесцеремонно вылазила ошибка, поскольку WP, тупо не поддерживает загрузку фалов такого типа.
Вооружившись для наглядности кодом показанным выше, вы можете добавить новые типы фалов в список разрешенных WordPress. Нужно просто в ваш файл functions.php скопировать следующий код (типы файлов должны быть разделены символом '|' ):

function addUploadMimes($mimes) {
    $mimes = array_merge($mimes, array(
        'tmbundle|tmCommand|tmDragCommand|tmSnippet|tmLanguage|tmPreferences' => 'application/octet-stream'
    ));
    return $mimes;
}
add_filter('upload_mimes', 'addUploadMimes');

В чем польза всего вышеописанного? В знании, а знание — это сила! Вооружившись нужной информацией, легче создавать что то новое, а не баландаться, как кутенок в потьмах, набивая шишки и ругая почем зря этот комбайн, имя которому — Wopdpress. Смею тихо надеяться, что не зря терзал клавиатуру в очередной раз, и набор моих «букав» кому-нибудь станет полезным.

Вы можете оставить отзыв, подписаться на обновленияОбновления блога по RSSRSS или Обновления блога на TwitterTwitter !

3 комментария
  1. Ксения:

    Спасибо за статью, помогла добавить возможность размещения DJVU-файлов (что-то типа PDF):)

    А то действительно по этому вопросу мало информации в Интернете...

    Ответить
  2. Серый:

    Полезная статья, помогла с добавлением нужных файлов!

    Ответить
Присоединяйтесь к обсуждению!

Отправляя кoммeнтapий, Вы автоматически принимаете правила кoммeнтиpoвaния на этом блоге.

Правила кoммeнтиpoвaния на блоге Dobrovoimaster:

  1. Во избежание захламления спамом, первый кoммeнтapий всегда проходит премодерацию.
  2. В поле "Ваш сайт" лучше указывать ссылку на главную страницу вашего сайта/блога. Ссылки на прочую веб-лабуду (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Не используйте в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия, имя изменяю на свое усмотрение. Просьба указывать нормальное имя или ник.
  4. Скорее всего, что не информативный и короткий кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.
  5. Комментарии не по теме безжалостно удаляются.

Подписаться не комментируя

Обновления комментариев по RSS RSS комментариев к этой записи »

Рейтинг@Mail.ru