将 MIME 类型转换为文件扩展名 PHP

Posted

技术标签:

【中文标题】将 MIME 类型转换为文件扩展名 PHP【英文标题】:Convert MIME type to file Extension PHP 【发布时间】:2013-05-06 20:03:35 【问题描述】:

我已经在 php 文档中寻找了一段时间,但我发现无法将 MIME 类型扩展名转换为文件类型扩展名。

image_type_to_extension

如果文件是图像,似乎可以工作。在我的特殊情况下,mime 类型不适用于图像,它们适用于字体类型:'otf, ttf'。

【问题讨论】:

并非每种 MIME 类型都有固定的文件扩展名。我会为您的系统可能处理的每种 MIME 类型创建一个文件扩展名的数组 OTF 字体没有标准的 MIME 类型 当然有:application/x-font-otf 【参考方案1】:

你可以使用类似的东西:

function getExtension ($mime_type)

    $extensions = array('image/jpeg' => 'jpeg',
                        'text/xml' => 'xml'
                       );

    // Add as many other Mime Types / File Extensions as you like

    return $extensions[$mime_type];


注意:并非每种 MIME 类型都有固定的文件扩展名。此外,application/octet-stream 等 MIME 类型可以引用多个文件扩展名。

【讨论】:

谢谢,我不知道 octet-stream 指的是多个文件扩展名。也许我应该找到一种发送文件名的方法,虽然现在它是“blob”,因为将 dataURL 转换为 blob,我可以更改文件名,但它在 firefox 中不起作用:***.com/questions/8495301/… 如果你决定走这条路,这里有一个相当详尽的清单让你开始:github.com/EllisLab/CodeIgniter/blob/develop/application/config/… 对于像我这样迟到的人来说,这里有一个专门的图书馆来完成这项工作:github.com/dflydev/dflydev-apache-mime-types 如果你对整个库不感兴趣来完成这个简单的工作,这里有一个小的 php 函数给你:gist.github.com/alexcorvi/df8faecb59e86bee93411f6a7967df2c 如果您像我一样尝试将 BLOB 再次保存到文件中,使用 BLOB 内容和 mime 类型保存文件名更容易,然后在保存时从数据库中获取。跨度> 【参考方案2】:

不确定这个是否总是返回正确的文件扩展名,但您可以使用 pathinfo() 从文件名中获取扩展名,而不是转换 mime_types。

$Extension = pathinfo(basename($_FILES['image']['name']), PATHINFO_EXTENSION);

echo $Extension;

【讨论】:

这可能不是一个好主意,因为您希望能够通过 mimetype 而不是文件名来确定扩展名。如果文件名是用户输入,这在安全上下文中可能是危险的。【参考方案3】:

首先获取图像的 $mime 类型,然后将字符串用 '/' 分解,这将返回一个数组。

$extension = explode('/', $mime )[1];

【讨论】:

我想知道这个解决方案是否可行。但它会因为 mime 类型总是有 2 个由“/”分隔的部分。证明它的 mime 类型的完整列表developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/… 是的,与其放置一组特定的MIME类型,不如简单地这样完成...... 这个解决方案很好,但不适用于application/msword (.doc) 等。 好的,我看到 mime_type 的第二部分与文件扩展名并不完全相同。但是,我们仍然获得了一个独特的 mime 扩展名,我们可以使用它来识别文件类型并进行相应的处理。例如:application/vnd.ms-excel (.xls) 或 application/msword (.doc)【参考方案4】:

由于Oliver Lillie 来自this comment,我将在此给予充分肯定:

function mime2ext($mime) 
    $mime_map = [
        'video/3gpp2'                                                               => '3g2',
        'video/3gp'                                                                 => '3gp',
        'video/3gpp'                                                                => '3gp',
        'application/x-compressed'                                                  => '7zip',
        'audio/x-acc'                                                               => 'aac',
        'audio/ac3'                                                                 => 'ac3',
        'application/postscript'                                                    => 'ai',
        'audio/x-aiff'                                                              => 'aif',
        'audio/aiff'                                                                => 'aif',
        'audio/x-au'                                                                => 'au',
        'video/x-msvideo'                                                           => 'avi',
        'video/msvideo'                                                             => 'avi',
        'video/avi'                                                                 => 'avi',
        'application/x-troff-msvideo'                                               => 'avi',
        'application/macbinary'                                                     => 'bin',
        'application/mac-binary'                                                    => 'bin',
        'application/x-binary'                                                      => 'bin',
        'application/x-macbinary'                                                   => 'bin',
        'image/bmp'                                                                 => 'bmp',
        'image/x-bmp'                                                               => 'bmp',
        'image/x-bitmap'                                                            => 'bmp',
        'image/x-xbitmap'                                                           => 'bmp',
        'image/x-win-bitmap'                                                        => 'bmp',
        'image/x-windows-bmp'                                                       => 'bmp',
        'image/ms-bmp'                                                              => 'bmp',
        'image/x-ms-bmp'                                                            => 'bmp',
        'application/bmp'                                                           => 'bmp',
        'application/x-bmp'                                                         => 'bmp',
        'application/x-win-bitmap'                                                  => 'bmp',
        'application/cdr'                                                           => 'cdr',
        'application/coreldraw'                                                     => 'cdr',
        'application/x-cdr'                                                         => 'cdr',
        'application/x-coreldraw'                                                   => 'cdr',
        'image/cdr'                                                                 => 'cdr',
        'image/x-cdr'                                                               => 'cdr',
        'zz-application/zz-winassoc-cdr'                                            => 'cdr',
        'application/mac-compactpro'                                                => 'cpt',
        'application/pkix-crl'                                                      => 'crl',
        'application/pkcs-crl'                                                      => 'crl',
        'application/x-x509-ca-cert'                                                => 'crt',
        'application/pkix-cert'                                                     => 'crt',
        'text/css'                                                                  => 'css',
        'text/x-comma-separated-values'                                             => 'csv',
        'text/comma-separated-values'                                               => 'csv',
        'application/vnd.msexcel'                                                   => 'csv',
        'application/x-director'                                                    => 'dcr',
        'application/vnd.openxmlformats-officedocument.wordprocessingml.document'   => 'docx',
        'application/x-dvi'                                                         => 'dvi',
        'message/rfc822'                                                            => 'eml',
        'application/x-msdownload'                                                  => 'exe',
        'video/x-f4v'                                                               => 'f4v',
        'audio/x-flac'                                                              => 'flac',
        'video/x-flv'                                                               => 'flv',
        'image/gif'                                                                 => 'gif',
        'application/gpg-keys'                                                      => 'gpg',
        'application/x-gtar'                                                        => 'gtar',
        'application/x-gzip'                                                        => 'gzip',
        'application/mac-binhex40'                                                  => 'hqx',
        'application/mac-binhex'                                                    => 'hqx',
        'application/x-binhex40'                                                    => 'hqx',
        'application/x-mac-binhex40'                                                => 'hqx',
        'text/html'                                                                 => 'html',
        'image/x-icon'                                                              => 'ico',
        'image/x-ico'                                                               => 'ico',
        'image/vnd.microsoft.icon'                                                  => 'ico',
        'text/calendar'                                                             => 'ics',
        'application/java-archive'                                                  => 'jar',
        'application/x-java-application'                                            => 'jar',
        'application/x-jar'                                                         => 'jar',
        'image/jp2'                                                                 => 'jp2',
        'video/mj2'                                                                 => 'jp2',
        'image/jpx'                                                                 => 'jp2',
        'image/jpm'                                                                 => 'jp2',
        'image/jpeg'                                                                => 'jpeg',
        'image/pjpeg'                                                               => 'jpeg',
        'application/x-javascript'                                                  => 'js',
        'application/json'                                                          => 'json',
        'text/json'                                                                 => 'json',
        'application/vnd.google-earth.kml+xml'                                      => 'kml',
        'application/vnd.google-earth.kmz'                                          => 'kmz',
        'text/x-log'                                                                => 'log',
        'audio/x-m4a'                                                               => 'm4a',
        'audio/mp4'                                                                 => 'm4a',
        'application/vnd.mpegurl'                                                   => 'm4u',
        'audio/midi'                                                                => 'mid',
        'application/vnd.mif'                                                       => 'mif',
        'video/quicktime'                                                           => 'mov',
        'video/x-sgi-movie'                                                         => 'movie',
        'audio/mpeg'                                                                => 'mp3',
        'audio/mpg'                                                                 => 'mp3',
        'audio/mpeg3'                                                               => 'mp3',
        'audio/mp3'                                                                 => 'mp3',
        'video/mp4'                                                                 => 'mp4',
        'video/mpeg'                                                                => 'mpeg',
        'application/oda'                                                           => 'oda',
        'audio/ogg'                                                                 => 'ogg',
        'video/ogg'                                                                 => 'ogg',
        'application/ogg'                                                           => 'ogg',
        'font/otf'                                                                  => 'otf',
        'application/x-pkcs10'                                                      => 'p10',
        'application/pkcs10'                                                        => 'p10',
        'application/x-pkcs12'                                                      => 'p12',
        'application/x-pkcs7-signature'                                             => 'p7a',
        'application/pkcs7-mime'                                                    => 'p7c',
        'application/x-pkcs7-mime'                                                  => 'p7c',
        'application/x-pkcs7-certreqresp'                                           => 'p7r',
        'application/pkcs7-signature'                                               => 'p7s',
        'application/pdf'                                                           => 'pdf',
        'application/octet-stream'                                                  => 'pdf',
        'application/x-x509-user-cert'                                              => 'pem',
        'application/x-pem-file'                                                    => 'pem',
        'application/pgp'                                                           => 'pgp',
        'application/x-httpd-php'                                                   => 'php',
        'application/php'                                                           => 'php',
        'application/x-php'                                                         => 'php',
        'text/php'                                                                  => 'php',
        'text/x-php'                                                                => 'php',
        'application/x-httpd-php-source'                                            => 'php',
        'image/png'                                                                 => 'png',
        'image/x-png'                                                               => 'png',
        'application/powerpoint'                                                    => 'ppt',
        'application/vnd.ms-powerpoint'                                             => 'ppt',
        'application/vnd.ms-office'                                                 => 'ppt',
        'application/msword'                                                        => 'doc',
        'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'pptx',
        'application/x-photoshop'                                                   => 'psd',
        'image/vnd.adobe.photoshop'                                                 => 'psd',
        'audio/x-realaudio'                                                         => 'ra',
        'audio/x-pn-realaudio'                                                      => 'ram',
        'application/x-rar'                                                         => 'rar',
        'application/rar'                                                           => 'rar',
        'application/x-rar-compressed'                                              => 'rar',
        'audio/x-pn-realaudio-plugin'                                               => 'rpm',
        'application/x-pkcs7'                                                       => 'rsa',
        'text/rtf'                                                                  => 'rtf',
        'text/richtext'                                                             => 'rtx',
        'video/vnd.rn-realvideo'                                                    => 'rv',
        'application/x-stuffit'                                                     => 'sit',
        'application/smil'                                                          => 'smil',
        'text/srt'                                                                  => 'srt',
        'image/svg+xml'                                                             => 'svg',
        'application/x-shockwave-flash'                                             => 'swf',
        'application/x-tar'                                                         => 'tar',
        'application/x-gzip-compressed'                                             => 'tgz',
        'image/tiff'                                                                => 'tiff',
        'font/ttf'                                                                  => 'ttf',
        'text/plain'                                                                => 'txt',
        'text/x-vcard'                                                              => 'vcf',
        'application/videolan'                                                      => 'vlc',
        'text/vtt'                                                                  => 'vtt',
        'audio/x-wav'                                                               => 'wav',
        'audio/wave'                                                                => 'wav',
        'audio/wav'                                                                 => 'wav',
        'application/wbxml'                                                         => 'wbxml',
        'video/webm'                                                                => 'webm',
        'image/webp'                                                                => 'webp',
        'audio/x-ms-wma'                                                            => 'wma',
        'application/wmlc'                                                          => 'wmlc',
        'video/x-ms-wmv'                                                            => 'wmv',
        'video/x-ms-asf'                                                            => 'wmv',
        'font/woff'                                                                 => 'woff',
        'font/woff2'                                                                => 'woff2',
        'application/xhtml+xml'                                                     => 'xhtml',
        'application/excel'                                                         => 'xl',
        'application/msexcel'                                                       => 'xls',
        'application/x-msexcel'                                                     => 'xls',
        'application/x-ms-excel'                                                    => 'xls',
        'application/x-excel'                                                       => 'xls',
        'application/x-dos_ms_excel'                                                => 'xls',
        'application/xls'                                                           => 'xls',
        'application/x-xls'                                                         => 'xls',
        'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'         => 'xlsx',
        'application/vnd.ms-excel'                                                  => 'xlsx',
        'application/xml'                                                           => 'xml',
        'text/xml'                                                                  => 'xml',
        'text/xsl'                                                                  => 'xsl',
        'application/xspf+xml'                                                      => 'xspf',
        'application/x-compress'                                                    => 'z',
        'application/x-zip'                                                         => 'zip',
        'application/zip'                                                           => 'zip',
        'application/x-zip-compressed'                                              => 'zip',
        'application/s-compressed'                                                  => 'zip',
        'multipart/x-zip'                                                           => 'zip',
        'text/x-scriptzsh'                                                          => 'zsh',
    ];

    return isset($mime_map[$mime]) ? $mime_map[$mime] : false;

【讨论】:

这非常有用。谢谢。 对于像我这样惊讶于没有逗号或文件类型的人的小笔记....上面的代码窗口水平滚动?【参考方案5】:

在开放空间github上找到gist:

function mime2ext($mime)

  $all_mimes = '"png":["image\/png","image\/x-png"],"bmp":["image\/bmp","image\/x-bmp","image\/x-bitmap","image\/x-xbitmap","image\/x-win-bitmap","image\/x-windows-bmp","image\/ms-bmp","image\/x-ms-bmp","application\/bmp","application\/x-bmp","application\/x-win-bitmap"],"gif":["image\/gif"],"jpeg":["image\/jpeg","image\/pjpeg"],"xspf":["application\/xspf+xml"],"vlc":["application\/videolan"],"wmv":["video\/x-ms-wmv","video\/x-ms-asf"],"au":["audio\/x-au"],"ac3":["audio\/ac3"],"flac":["audio\/x-flac"],"ogg":["audio\/ogg","video\/ogg","application\/ogg"],"kmz":["application\/vnd.google-earth.kmz"],"kml":["application\/vnd.google-earth.kml+xml"],"rtx":["text\/richtext"],"rtf":["text\/rtf"],"jar":["application\/java-archive","application\/x-java-application","application\/x-jar"],"zip":["application\/x-zip","application\/zip","application\/x-zip-compressed","application\/s-compressed","multipart\/x-zip"],"7zip":["application\/x-compressed"],"xml":["application\/xml","text\/xml"],"svg":["image\/svg+xml"],"3g2":["video\/3gpp2"],"3gp":["video\/3gp","video\/3gpp"],"mp4":["video\/mp4"],"m4a":["audio\/x-m4a"],"f4v":["video\/x-f4v"],"flv":["video\/x-flv"],"webm":["video\/webm"],"aac":["audio\/x-acc"],"m4u":["application\/vnd.mpegurl"],"pdf":["application\/pdf","application\/octet-stream"],"pptx":["application\/vnd.openxmlformats-officedocument.presentationml.presentation"],"ppt":["application\/powerpoint","application\/vnd.ms-powerpoint","application\/vnd.ms-office","application\/msword"],"docx":["application\/vnd.openxmlformats-officedocument.wordprocessingml.document"],"xlsx":["application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application\/vnd.ms-excel"],"xl":["application\/excel"],"xls":["application\/msexcel","application\/x-msexcel","application\/x-ms-excel","application\/x-excel","application\/x-dos_ms_excel","application\/xls","application\/x-xls"],"xsl":["text\/xsl"],"mpeg":["video\/mpeg"],"mov":["video\/quicktime"],"avi":["video\/x-msvideo","video\/msvideo","video\/avi","application\/x-troff-msvideo"],"movie":["video\/x-sgi-movie"],"log":["text\/x-log"],"txt":["text\/plain"],"css":["text\/css"],"html":["text\/html"],"wav":["audio\/x-wav","audio\/wave","audio\/wav"],"xhtml":["application\/xhtml+xml"],"tar":["application\/x-tar"],"tgz":["application\/x-gzip-compressed"],"psd":["application\/x-photoshop","image\/vnd.adobe.photoshop"],"exe":["application\/x-msdownload"],"js":["application\/x-javascript"],"mp3":["audio\/mpeg","audio\/mpg","audio\/mpeg3","audio\/mp3"],"rar":["application\/x-rar","application\/rar","application\/x-rar-compressed"],"gzip":["application\/x-gzip"],"hqx":["application\/mac-binhex40","application\/mac-binhex","application\/x-binhex40","application\/x-mac-binhex40"],"cpt":["application\/mac-compactpro"],"bin":["application\/macbinary","application\/mac-binary","application\/x-binary","application\/x-macbinary"],"oda":["application\/oda"],"ai":["application\/postscript"],"smil":["application\/smil"],"mif":["application\/vnd.mif"],"wbxml":["application\/wbxml"],"wmlc":["application\/wmlc"],"dcr":["application\/x-director"],"dvi":["application\/x-dvi"],"gtar":["application\/x-gtar"],"php":["application\/x-httpd-php","application\/php","application\/x-php","text\/php","text\/x-php","application\/x-httpd-php-source"],"swf":["application\/x-shockwave-flash"],"sit":["application\/x-stuffit"],"z":["application\/x-compress"],"mid":["audio\/midi"],"aif":["audio\/x-aiff","audio\/aiff"],"ram":["audio\/x-pn-realaudio"],"rpm":["audio\/x-pn-realaudio-plugin"],"ra":["audio\/x-realaudio"],"rv":["video\/vnd.rn-realvideo"],"jp2":["image\/jp2","video\/mj2","image\/jpx","image\/jpm"],"tiff":["image\/tiff"],"eml":["message\/rfc822"],"pem":["application\/x-x509-user-cert","application\/x-pem-file"],"p10":["application\/x-pkcs10","application\/pkcs10"],"p12":["application\/x-pkcs12"],"p7a":["application\/x-pkcs7-signature"],"p7c":["application\/pkcs7-mime","application\/x-pkcs7-mime"],"p7r":["application\/x-pkcs7-certreqresp"],"p7s":["application\/pkcs7-signature"],"crt":["application\/x-x509-ca-cert","application\/pkix-cert"],"crl":["application\/pkix-crl","application\/pkcs-crl"],"pgp":["application\/pgp"],"gpg":["application\/gpg-keys"],"rsa":["application\/x-pkcs7"],"ics":["text\/calendar"],"zsh":["text\/x-scriptzsh"],"cdr":["application\/cdr","application\/coreldraw","application\/x-cdr","application\/x-coreldraw","image\/cdr","image\/x-cdr","zz-application\/zz-winassoc-cdr"],"wma":["audio\/x-ms-wma"],"vcf":["text\/x-vcard"],"srt":["text\/srt"],"vtt":["text\/vtt"],"ico":["image\/x-icon","image\/x-ico","image\/vnd.microsoft.icon"],"csv":["text\/x-comma-separated-values","text\/comma-separated-values","application\/vnd.msexcel"],"json":["application\/json","text\/json"]';
  $all_mimes = json_decode($all_mimes,true);
  foreach( $all_mimes as $key => $value ) 
      if( array_search($mime,$value) !== false ) return $key;
  return false;

还将列表转换为数组,方便添加 mime 类型 - gist

【讨论】:

【参考方案6】:

您可以使用以下课程。

用法:

<?php

    echo MapMimeTypeToExtension::getExtension('application/andrew-inset');

?>

缩小类(我无法在回复中放入格式化的 PHP 脚本):

<?php abstract class MapMimeTypeToExtensionpublic const MAP=['application/andrew-inset'=>'ez','application/applixware'=>'aw','application/atom+xml'=>'atom','application/atomcat+xml'=>'atomcat','application/atomsvc+xml'=>'atomsvc','application/ccxml+xml'=>'ccxml','application/cdmi-capability'=>'cdmia','application/cdmi-container'=>'cdmic','application/cdmi-domain'=>'cdmid','application/cdmi-object'=>'cdmio','application/cdmi-queue'=>'cdmiq','application/cu-seeme'=>'cu','application/davmount+xml'=>'davmount','application/dssc+der'=>'dssc','application/dssc+xml'=>'xdssc','application/ecmascript'=>'ecma','application/emma+xml'=>'emma','application/epub+zip'=>'epub','application/exi'=>'exi','application/font-tdpfr'=>'pfr','application/hyperstudio'=>'stk','application/inkml+xml'=>'ink','application/ipfix'=>'ipfix','application/java-archive'=>'jar','application/java-serialized-object'=>'ser','application/java-vm'=>'class','application/javascript'=>'js','application/json'=>'json','application/lost+xml'=>'lostxml','application/mac-binhex40'=>'hqx','application/mac-compactpro'=>'cpt','application/mads+xml'=>'mads','application/marc'=>'mrc','application/marcxml+xml'=>'mrcx','application/mathematica'=>'ma','application/mathml+xml'=>'mathml','application/mbox'=>'mbox','application/mediaservercontrol+xml'=>'mscml','application/metalink4+xml'=>'meta4','application/mets+xml'=>'mets','application/mods+xml'=>'mods','application/mp21'=>'m21','application/mp4'=>'mp4s','application/msword'=>'doc','application/mxf'=>'mxf','application/octet-stream'=>'bin','application/oda'=>'oda','application/oebps-package+xml'=>'opf','application/ogg'=>'ogx','application/onenote'=>'onetoc','application/oxps'=>'oxps','application/patch-ops-error+xml'=>'xer','application/pdf'=>'pdf','application/pgp-encrypted'=>'pgp','application/pgp-signature'=>'asc','application/pics-rules'=>'prf','application/pkcs10'=>'p10','application/pkcs7-mime'=>'p7m','application/pkcs7-signature'=>'p7s','application/pkcs8'=>'p8','application/pkix-attr-cert'=>'ac','application/pkix-cert'=>'cer','application/pkix-crl'=>'crl','application/pkix-pkipath'=>'pkipath','application/pkixcmp'=>'pki','application/pls+xml'=>'pls','application/postscript'=>'ai','application/prs.cww'=>'cww','application/pskc+xml'=>'pskcxml','application/rdf+xml'=>'rdf','application/reginfo+xml'=>'rif','application/relax-ng-compact-syntax'=>'rnc','application/resource-lists+xml'=>'rl','application/resource-lists-diff+xml'=>'rld','application/rls-services+xml'=>'rs','application/rpki-ghostbusters'=>'gbr','application/rpki-manifest'=>'mft','application/rpki-roa'=>'roa','application/rsd+xml'=>'rsd','application/rss+xml'=>'rss','application/rtf'=>'rtf','application/sbml+xml'=>'sbml','application/scvp-cv-request'=>'scq','application/scvp-cv-response'=>'scs','application/scvp-vp-request'=>'spq','application/scvp-vp-response'=>'spp','application/sdp'=>'sdp','application/set-payment-initiation'=>'setpay','application/set-registration-initiation'=>'setreg','application/shf+xml'=>'shf','application/smil+xml'=>'smi','application/sparql-query'=>'rq','application/sparql-results+xml'=>'srx','application/srgs'=>'gram','application/srgs+xml'=>'grxml','application/sru+xml'=>'sru','application/ssml+xml'=>'ssml','application/tei+xml'=>'tei','application/thraud+xml'=>'tfi','application/timestamped-data'=>'tsd','application/vnd.3gpp.pic-bw-large'=>'plb','application/vnd.3gpp.pic-bw-small'=>'psb','application/vnd.3gpp.pic-bw-var'=>'pvb','application/vnd.3gpp2.tcap'=>'tcap','application/vnd.3m.post-it-notes'=>'pwn','application/vnd.accpac.simply.aso'=>'aso','application/vnd.accpac.simply.imp'=>'imp','application/vnd.acucobol'=>'acu','application/vnd.acucorp'=>'atc','application/vnd.adobe.air-application-installer-package+zip'=>'air','application/vnd.adobe.fxp'=>'fxp','application/vnd.adobe.xdp+xml'=>'xdp','application/vnd.adobe.xfdf'=>'xfdf','application/vnd.ahead.space'=>'ahead','application/vnd.airzip.filesecure.azf'=>'azf','application/vnd.airzip.filesecure.azs'=>'azs','application/vnd.amazon.ebook'=>'azw','application/vnd.americandynamics.acc'=>'acc','application/vnd.amiga.ami'=>'ami','application/vnd.android.package-archive'=>'apk','application/vnd.anser-web-certificate-issue-initiation'=>'cii','application/vnd.anser-web-funds-transfer-initiation'=>'fti','application/vnd.antix.game-component'=>'atx','application/vnd.apple.installer+xml'=>'mpkg','application/vnd.apple.mpegurl'=>'m3u8','application/vnd.aristanetworks.swi'=>'swi','application/vnd.astraea-software.iota'=>'iota','application/vnd.audiograph'=>'aep','application/vnd.blueice.multipass'=>'mpm','application/vnd.bmi'=>'bmi','application/vnd.businessobjects'=>'rep','application/vnd.chemdraw+xml'=>'cdxml','application/vnd.chipnuts.karaoke-mmd'=>'mmd','application/vnd.cinderella'=>'cdy','application/vnd.claymore'=>'cla','application/vnd.cloanto.rp9'=>'rp9','application/vnd.clonk.c4group'=>'c4g','application/vnd.cluetrust.cartomobile-config'=>'c11amc','application/vnd.cluetrust.cartomobile-config-pkg'=>'c11amz','application/vnd.commonspace'=>'csp','application/vnd.contact.cmsg'=>'cdbcmsg','application/vnd.cosmocaller'=>'cmc','application/vnd.crick.clicker'=>'clkx','application/vnd.crick.clicker.keyboard'=>'clkk','application/vnd.crick.clicker.palette'=>'clkp','application/vnd.crick.clicker.template'=>'clkt','application/vnd.crick.clicker.wordbank'=>'clkw','application/vnd.criticaltools.wbs+xml'=>'wbs','application/vnd.ctc-posml'=>'pml','application/vnd.cups-ppd'=>'ppd','application/vnd.curl.car'=>'car','application/vnd.curl.pcurl'=>'pcurl','application/vnd.data-vision.rdz'=>'rdz','application/vnd.dece.data'=>'uvf','application/vnd.dece.ttml+xml'=>'uvt','application/vnd.dece.unspecified'=>'uvx','application/vnd.dece.zip'=>'uvz','application/vnd.denovo.fcselayout-link'=>'fe_launch','application/vnd.dna'=>'dna','application/vnd.dolby.mlp'=>'mlp','application/vnd.dpgraph'=>'dpg','application/vnd.dreamfactory'=>'dfac','application/vnd.dvb.ait'=>'ait','application/vnd.dvb.service'=>'svc','application/vnd.dynageo'=>'geo','application/vnd.ecowin.chart'=>'mag','application/vnd.enliven'=>'nml','application/vnd.epson.esf'=>'esf','application/vnd.epson.msf'=>'msf','application/vnd.epson.quickanime'=>'qam','application/vnd.epson.salt'=>'slt','application/vnd.epson.ssf'=>'ssf','application/vnd.eszigno3+xml'=>'es3','application/vnd.ezpix-album'=>'ez2','application/vnd.ezpix-package'=>'ez3','application/vnd.fdf'=>'fdf','application/vnd.fdsn.mseed'=>'mseed','application/vnd.fdsn.seed'=>'seed','application/vnd.flographit'=>'gph','application/vnd.fluxtime.clip'=>'ftc','application/vnd.framemaker'=>'fm','application/vnd.frogans.fnc'=>'fnc','application/vnd.frogans.ltf'=>'ltf','application/vnd.fsc.weblaunch'=>'fsc','application/vnd.fujitsu.oasys'=>'oas','application/vnd.fujitsu.oasys2'=>'oa2','application/vnd.fujitsu.oasys3'=>'oa3','application/vnd.fujitsu.oasysgp'=>'fg5','application/vnd.fujitsu.oasysprs'=>'bh2','application/vnd.fujixerox.ddd'=>'ddd','application/vnd.fujixerox.docuworks'=>'xdw','application/vnd.fujixerox.docuworks.binder'=>'xbd','application/vnd.fuzzysheet'=>'fzs','application/vnd.genomatix.tuxedo'=>'txd','application/vnd.geogebra.file'=>'ggb','application/vnd.geogebra.tool'=>'ggt','application/vnd.geometry-explorer'=>'gex','application/vnd.geonext'=>'gxt','application/vnd.geoplan'=>'g2w','application/vnd.geospace'=>'g3w','application/vnd.gmx'=>'gmx','application/vnd.google-earth.kml+xml'=>'kml','application/vnd.google-earth.kmz'=>'kmz','application/vnd.grafeq'=>'gqf','application/vnd.groove-account'=>'gac','application/vnd.groove-help'=>'ghf','application/vnd.groove-identity-message'=>'gim','application/vnd.groove-injector'=>'grv','application/vnd.groove-tool-message'=>'gtm','application/vnd.groove-tool-template'=>'tpl','application/vnd.groove-vcard'=>'vcg','application/vnd.hal+xml'=>'hal','application/vnd.handheld-entertainment+xml'=>'zmm','application/vnd.hbci'=>'hbci','application/vnd.hhe.lesson-player'=>'les','application/vnd.hp-hpgl'=>'hpgl','application/vnd.hp-hpid'=>'hpid','application/vnd.hp-hps'=>'hps','application/vnd.hp-jlyt'=>'jlt','application/vnd.hp-pcl'=>'pcl','application/vnd.hp-pclxl'=>'pclxl','application/vnd.hydrostatix.sof-data'=>'sfd-hdstx','application/vnd.hzn-3d-crossword'=>'x3d','application/vnd.ibm.minipay'=>'mpy','application/vnd.ibm.modcap'=>'afp','application/vnd.ibm.rights-management'=>'irm','application/vnd.ibm.secure-container'=>'sc','application/vnd.iccprofile'=>'icc','application/vnd.igloader'=>'igl','application/vnd.immervision-ivp'=>'ivp','application/vnd.immervision-ivu'=>'ivu','application/vnd.insors.igm'=>'igm','application/vnd.intercon.formnet'=>'xpw','application/vnd.intergeo'=>'i2g','application/vnd.intu.qbo'=>'qbo','application/vnd.intu.qfx'=>'qfx','application/vnd.ipunplugged.rcprofile'=>'rcprofile','application/vnd.irepository.package+xml'=>'irp','application/vnd.is-xpr'=>'xpr','application/vnd.isac.fcs'=>'fcs','application/vnd.jam'=>'jam','application/vnd.jcp.javame.midlet-rms'=>'rms','application/vnd.jisp'=>'jisp','application/vnd.joost.joda-archive'=>'joda','application/vnd.kahootz'=>'ktz','application/vnd.kde.karbon'=>'karbon','application/vnd.kde.kchart'=>'chrt','application/vnd.kde.kformula'=>'kfo','application/vnd.kde.kivio'=>'flw','application/vnd.kde.kontour'=>'kon','application/vnd.kde.kpresenter'=>'kpr','application/vnd.kde.kspread'=>'ksp','application/vnd.kde.kword'=>'kwd','application/vnd.kenameaapp'=>'htke','application/vnd.kidspiration'=>'kia','application/vnd.kinar'=>'kne','application/vnd.koan'=>'skp','application/vnd.kodak-descriptor'=>'sse','application/vnd.las.las+xml'=>'lasxml','application/vnd.llamagraphics.life-balance.desktop'=>'lbd','application/vnd.llamagraphics.life-balance.exchange+xml'=>'lbe','application/vnd.lotus-1-2-3'=>'123','application/vnd.lotus-approach'=>'apr','application/vnd.lotus-freelance'=>'pre','application/vnd.lotus-notes'=>'nsf','application/vnd.lotus-organizer'=>'org','application/vnd.lotus-screencam'=>'scm','application/vnd.lotus-wordpro'=>'lwp','application/vnd.macports.portpkg'=>'portpkg','application/vnd.mcd'=>'mcd','application/vnd.medcalcdata'=>'mc1','application/vnd.mediastation.cdkey'=>'cdkey','application/vnd.mfer'=>'mwf','application/vnd.mfmp'=>'mfm','application/vnd.micrografx.flo'=>'flo','application/vnd.micrografx.igx'=>'igx','application/vnd.mif'=>'mif','application/vnd.mobius.daf'=>'daf','application/vnd.mobius.dis'=>'dis','application/vnd.mobius.mbk'=>'mbk','application/vnd.mobius.mqy'=>'mqy','application/vnd.mobius.msl'=>'msl','application/vnd.mobius.plc'=>'plc','application/vnd.mobius.txf'=>'txf','application/vnd.mophun.application'=>'mpn','application/vnd.mophun.certificate'=>'mpc','application/vnd.mozilla.xul+xml'=>'xul','application/vnd.ms-artgalry'=>'cil','application/vnd.ms-cab-compressed'=>'cab','application/vnd.ms-excel'=>'xls','application/vnd.ms-excel.addin.macroenabled.12'=>'xlam','application/vnd.ms-excel.sheet.binary.macroenabled.12'=>'xlsb','application/vnd.ms-excel.sheet.macroenabled.12'=>'xlsm','application/vnd.ms-excel.template.macroenabled.12'=>'xltm','application/vnd.ms-fontobject'=>'eot','application/vnd.ms-htmlhelp'=>'chm','application/vnd.ms-ims'=>'ims','application/vnd.ms-lrm'=>'lrm','application/vnd.ms-officetheme'=>'thmx','application/vnd.ms-pki.seccat'=>'cat','application/vnd.ms-pki.stl'=>'stl','application/vnd.ms-powerpoint'=>'ppt','application/vnd.ms-powerpoint.addin.macroenabled.12'=>'ppam','application/vnd.ms-powerpoint.presentation.macroenabled.12'=>'pptm','application/vnd.ms-powerpoint.slide.macroenabled.12'=>'sldm','application/vnd.ms-powerpoint.slideshow.macroenabled.12'=>'ppsm','application/vnd.ms-powerpoint.template.macroenabled.12'=>'potm','application/vnd.ms-project'=>'mpp','application/vnd.ms-word.document.macroenabled.12'=>'docm','application/vnd.ms-word.template.macroenabled.12'=>'dotm','application/vnd.ms-works'=>'wps','application/vnd.ms-wpl'=>'wpl','application/vnd.ms-xpsdocument'=>'xps','application/vnd.mseq'=>'mseq','application/vnd.musician'=>'mus','application/vnd.muvee.style'=>'msty','application/vnd.mynfc'=>'taglet','application/vnd.neurolanguage.nlu'=>'nlu','application/vnd.noblenet-directory'=>'nnd','application/vnd.noblenet-sealer'=>'nns','application/vnd.noblenet-web'=>'nnw','application/vnd.nokia.n-gage.data'=>'ngdat','application/vnd.nokia.n-gage.symbian.install'=>'n-gage','application/vnd.nokia.radio-preset'=>'rpst','application/vnd.nokia.radio-presets'=>'rpss','application/vnd.novadigm.edm'=>'edm','application/vnd.novadigm.edx'=>'edx','application/vnd.novadigm.ext'=>'ext','application/vnd.oasis.opendocument.chart'=>'odc','application/vnd.oasis.opendocument.chart-template'=>'otc','application/vnd.oasis.opendocument.database'=>'odb','application/vnd.oasis.opendocument.formula'=>'odf','application/vnd.oasis.opendocument.formula-template'=>'odft','application/vnd.oasis.opendocument.graphics'=>'odg','application/vnd.oasis.opendocument.graphics-template'=>'otg','application/vnd.oasis.opendocument.image'=>'odi','application/vnd.oasis.opendocument.image-template'=>'oti','application/vnd.oasis.opendocument.presentation'=>'odp','application/vnd.oasis.opendocument.presentation-template'=>'otp','application/vnd.oasis.opendocument.spreadsheet'=>'ods','application/vnd.oasis.opendocument.spreadsheet-template'=>'ots','application/vnd.oasis.opendocument.text'=>'odt','application/vnd.oasis.opendocument.text-master'=>'odm','application/vnd.oasis.opendocument.text-template'=>'ott','application/vnd.oasis.opendocument.text-web'=>'oth','application/vnd.olpc-sugar'=>'xo','application/vnd.oma.dd2+xml'=>'dd2','application/vnd.openofficeorg.extension'=>'oxt','application/vnd.openxmlformats-officedocument.presentationml.presentation'=>'pptx','application/vnd.openxmlformats-officedocument.presentationml.slide'=>'sldx','application/vnd.openxmlformats-officedocument.presentationml.slideshow'=>'ppsx','application/vnd.openxmlformats-officedocument.presentationml.template'=>'potx','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'=>'xlsx','application/vnd.openxmlformats-officedocument.spreadsheetml.template'=>'xltx','application/vnd.openxmlformats-officedocument.wordprocessingml.document'=>'docx','application/vnd.openxmlformats-officedocument.wordprocessingml.template'=>'dotx','application/vnd.osgeo.mapguide.package'=>'mgp','application/vnd.osgi.dp'=>'dp','application/vnd.palm'=>'pdb','application/vnd.pawaafile'=>'paw','application/vnd.pg.format'=>'str','application/vnd.pg.osasli'=>'ei6','application/vnd.picsel'=>'efif','application/vnd.pmi.widget'=>'wg','application/vnd.pocketlearn'=>'plf','application/vnd.powerbuilder6'=>'pbd','application/vnd.previewsystems.box'=>'box','application/vnd.proteus.magazine'=>'mgz','application/vnd.publishare-delta-tree'=>'qps','application/vnd.pvi.ptid1'=>'ptid','application/vnd.quark.quarkxpress'=>'qxd','application/vnd.realvnc.bed'=>'bed','application/vnd.recordare.musicxml'=>'mxl','application/vnd.recordare.musicxml+xml'=>'musicxml','application/vnd.rig.cryptonote'=>'cryptonote','application/vnd.rim.cod'=>'cod','application/vnd.rn-realmedia'=>'rm','application/vnd.route66.link66+xml'=>'link66','application/vnd.sailingtracker.track'=>'st','application/vnd.seemail'=>'see','application/vnd.sema'=>'sema','application/vnd.semd'=>'semd','application/vnd.semf'=>'semf','application/vnd.shana.informed.formdata'=>'ifm','application/vnd.shana.informed.formtemplate'=>'itp','application/vnd.shana.informed.interchange'=>'iif','application/vnd.shana.informed.package'=>'ipk','application/vnd.simtech-mindmapper'=>'twd','application/vnd.smaf'=>'mmf','application/vnd.smart.teacher'=>'teacher','application/vnd.solent.sdkm+xml'=>'sdkm','application/vnd.spotfire.dxp'=>'dxp','application/vnd.spotfire.sfs'=>'sfs','application/vnd.stardivision.calc'=>'sdc','application/vnd.stardivision.draw'=>'sda','application/vnd.stardivision.impress'=>'sdd','application/vnd.stardivision.math'=>'smf','application/vnd.stardivision.writer'=>'sdw','application/vnd.stardivision.writer-global'=>'sgl','application/vnd.stepmania.package'=>'smzip','application/vnd.stepmania.stepchart'=>'sm','application/vnd.sun.xml.calc'=>'sxc','application/vnd.sun.xml.calc.template'=>'stc','application/vnd.sun.xml.draw'=>'sxd','application/vnd.sun.xml.draw.template'=>'std','application/vnd.sun.xml.impress'=>'sxi','application/vnd.sun.xml.impress.template'=>'sti','application/vnd.sun.xml.math'=>'sxm','application/vnd.sun.xml.writer'=>'sxw','application/vnd.sun.xml.writer.global'=>'sxg','application/vnd.sun.xml.writer.template'=>'stw','application/vnd.sus-calendar'=>'sus','application/vnd.svd'=>'svd','application/vnd.symbian.install'=>'sis','application/vnd.syncml+xml'=>'xsm','application/vnd.syncml.dm+wbxml'=>'bdm','application/vnd.syncml.dm+xml'=>'xdm','application/vnd.tao.intent-module-archive'=>'tao','application/vnd.tcpdump.pcap'=>'pcap','application/vnd.tmobile-livetv'=>'tmo','application/vnd.trid.tpt'=>'tpt','application/vnd.triscape.mxs'=>'mxs','application/vnd.trueapp'=>'tra','application/vnd.ufdl'=>'ufd','application/vnd.uiq.theme'=>'utz','application/vnd.umajin'=>'umj','application/vnd.unity'=>'unityweb','application/vnd.uoml+xml'=>'uoml','application/vnd.vcx'=>'vcx','application/vnd.visio'=>'vsd','application/vnd.visionary'=>'vis','application/vnd.vsf'=>'vsf','application/vnd.wap.wbxml'=>'wbxml','application/vnd.wap.wmlc'=>'wmlc','application/vnd.wap.wmlscriptc'=>'wmlsc','application/vnd.webturbo'=>'wtb','application/vnd.wolfram.player'=>'nbp','application/vnd.wordperfect'=>'wpd','application/vnd.wqd'=>'wqd','application/vnd.wt.stf'=>'stf','application/vnd.xara'=>'xar','application/vnd.xfdl'=>'xfdl','application/vnd.yamaha.hv-dic'=>'hvd','application/vnd.yamaha.hv-script'=>'hvs','application/vnd.yamaha.hv-voice'=>'hvp','application/vnd.yamaha.openscoreformat'=>'osf','application/vnd.yamaha.openscoreformat.osfpvg+xml'=>'osfpvg','application/vnd.yamaha.smaf-audio'=>'saf','application/vnd.yamaha.smaf-phrase'=>'spf','application/vnd.yellowriver-custom-menu'=>'cmp','application/vnd.zul'=>'zir','application/vnd.zzazz.deck+xml'=>'zaz','application/voicexml+xml'=>'vxml','application/widget'=>'wgt','application/winhlp'=>'hlp','application/wsdl+xml'=>'wsdl','application/wspolicy+xml'=>'wspolicy','application/x-7z-compressed'=>'7z','application/x-abiword'=>'abw','application/x-ace-compressed'=>'ace','application/x-authorware-bin'=>'aab','application/x-authorware-map'=>'aam','application/x-authorware-seg'=>'aas','application/x-bcpio'=>'bcpio','application/x-bittorrent'=>'torrent','application/x-bzip'=>'bz','application/x-bzip2'=>'bz2','application/x-cdlink'=>'vcd','application/x-chat'=>'chat','application/x-chess-pgn'=>'pgn','application/x-cpio'=>'cpio','application/x-csh'=>'csh','application/x-debian-package'=>'deb','application/x-director'=>'dir','application/x-doom'=>'wad','application/x-dtbncx+xml'=>'ncx','application/x-dtbook+xml'=>'dtb','application/x-dtbresource+xml'=>'res','application/x-dvi'=>'dvi','application/x-font-bdf'=>'bdf','application/x-font-ghostscript'=>'gsf','application/x-font-linux-psf'=>'psf','application/x-font-otf'=>'otf','application/x-font-pcf'=>'pcf','application/x-font-snf'=>'snf','application/x-font-ttf'=>'ttf','application/x-font-type1'=>'pfa','application/x-font-woff'=>'woff','application/x-futuresplash'=>'spl','application/x-gnumeric'=>'gnumeric','application/x-gtar'=>'gtar','application/x-hdf'=>'hdf','application/x-java-jnlp-file'=>'jnlp','application/x-latex'=>'latex','application/x-mobipocket-ebook'=>'prc','application/x-ms-application'=>'application','application/x-ms-wmd'=>'wmd','application/x-ms-wmz'=>'wmz','application/x-ms-xbap'=>'xbap','application/x-msaccess'=>'mdb','application/x-msbinder'=>'obd','application/x-mscardfile'=>'crd','application/x-msclip'=>'clp','application/x-msdownload'=>'exe','application/x-msmediaview'=>'mvb','application/x-msmetafile'=>'wmf','application/x-msmoney'=>'mny','application/x-mspublisher'=>'pub','application/x-msschedule'=>'scd','application/x-msterminal'=>'trm','application/x-mswrite'=>'wri','application/x-netcdf'=>'nc','application/x-pkcs12'=>'p12','application/x-pkcs7-certificates'=>'p7b','application/x-pkcs7-certreqresp'=>'p7r','application/x-rar-compressed'=>'rar','application/x-sh'=>'sh','application/x-shar'=>'shar','application/x-shockwave-flash'=>'swf','application/x-silverlight-app'=>'xap','application/x-stuffit'=>'sit','application/x-stuffitx'=>'sitx','application/x-sv4cpio'=>'sv4cpio','application/x-sv4crc'=>'sv4crc','application/x-tar'=>'tar','application/x-tcl'=>'tcl','application/x-tex'=>'tex','application/x-tex-tfm'=>'tfm','application/x-texinfo'=>'texinfo','application/x-ustar'=>'ustar','application/x-wais-source'=>'src','application/x-x509-ca-cert'=>'der','application/x-xfig'=>'fig','application/x-xpinstall'=>'xpi','application/xcap-diff+xml'=>'xdf','application/xenc+xml'=>'xenc','application/xhtml+xml'=>'xhtml','application/xml'=>'xml','application/xml-dtd'=>'dtd','application/xop+xml'=>'xop','application/xslt+xml'=>'xslt','application/xspf+xml'=>'xspf','application/xv+xml'=>'mxml','application/yang'=>'yang','application/yin+xml'=>'yin','application/zip'=>'zip','audio/adpcm'=>'adp','audio/basic'=>'au','audio/midi'=>'mid','audio/mp4'=>'mp4a','audio/mpeg'=>'mpga','audio/ogg'=>'oga','audio/vnd.dece.audio'=>'uva','audio/vnd.digital-winds'=>'eol','audio/vnd.dra'=>'dra','audio/vnd.dts'=>'dts','audio/vnd.dts.hd'=>'dtshd','audio/vnd.lucent.voice'=>'lvp','audio/vnd.ms-playready.media.pya'=>'pya','audio/vnd.nuera.ecelp4800'=>'ecelp4800','audio/vnd.nuera.ecelp7470'=>'ecelp7470','audio/vnd.nuera.ecelp9600'=>'ecelp9600','audio/vnd.rip'=>'rip','audio/webm'=>'weba','audio/x-aac'=>'aac','audio/x-aiff'=>'aif','audio/x-mpegurl'=>'m3u','audio/x-ms-wax'=>'wax','audio/x-ms-wma'=>'wma','audio/x-pn-realaudio'=>'ram','audio/x-pn-realaudio-plugin'=>'rmp','audio/x-wav'=>'wav','chemical/x-cdx'=>'cdx','chemical/x-cif'=>'cif','chemical/x-cmdf'=>'cmdf','chemical/x-cml'=>'cml','chemical/x-csml'=>'csml','chemical/x-xyz'=>'xyz','image/bmp'=>'bmp','image/cgm'=>'cgm','image/g3fax'=>'g3','image/gif'=>'gif','image/ief'=>'ief','image/jpeg'=>'jpeg','image/ktx'=>'ktx','image/png'=>'png','image/prs.btif'=>'btif','image/svg+xml'=>'svg','image/tiff'=>'tiff','image/vnd.adobe.photoshop'=>'psd','image/vnd.dece.graphic'=>'uvi','image/vnd.dvb.subtitle'=>'sub','image/vnd.djvu'=>'djvu','image/vnd.dwg'=>'dwg','image/vnd.dxf'=>'dxf','image/vnd.fastbidsheet'=>'fbs','image/vnd.fpx'=>'fpx','image/vnd.fst'=>'fst','image/vnd.fujixerox.edmics-mmr'=>'mmr','image/vnd.fujixerox.edmics-rlc'=>'rlc','image/vnd.ms-modi'=>'mdi','image/vnd.net-fpx'=>'npx','image/vnd.wap.wbmp'=>'wbmp','image/vnd.xiff'=>'xif','image/webp'=>'webp','image/x-cmu-raster'=>'ras','image/x-cmx'=>'cmx','image/x-freehand'=>'fh','image/x-icon'=>'ico','image/x-pcx'=>'pcx','image/x-pict'=>'pic','image/x-portable-anymap'=>'pnm','image/x-portable-bitmap'=>'pbm','image/x-portable-graymap'=>'pgm','image/x-portable-pixmap'=>'ppm','image/x-rgb'=>'rgb','image/x-xbitmap'=>'xbm','image/x-xpixmap'=>'xpm','image/x-xwindowdump'=>'xwd','message/rfc822'=>'eml','model/iges'=>'igs','model/mesh'=>'msh','model/vnd.collada+xml'=>'dae','model/vnd.dwf'=>'dwf','model/vnd.gdl'=>'gdl','model/vnd.gtw'=>'gtw','model/vnd.mts'=>'mts','model/vnd.vtu'=>'vtu','model/vrml'=>'wrl','text/calendar'=>'ics','text/css'=>'css','text/csv'=>'csv','text/html'=>'html','text/n3'=>'n3','text/plain'=>'txt','text/prs.lines.tag'=>'dsc','text/richtext'=>'rtx','text/sgml'=>'sgml','text/tab-separated-values'=>'tsv','text/troff'=>'t','text/turtle'=>'ttl','text/uri-list'=>'uri','text/vcard'=>'vcard','text/vnd.curl'=>'curl','text/vnd.curl.dcurl'=>'dcurl','text/vnd.curl.scurl'=>'scurl','text/vnd.curl.mcurl'=>'mcurl','text/vnd.dvb.subtitle'=>'sub','text/vnd.fly'=>'fly','text/vnd.fmi.flexstor'=>'flx','text/vnd.graphviz'=>'gv','text/vnd.in3d.3dml'=>'3dml','text/vnd.in3d.spot'=>'spot','text/vnd.sun.j2me.app-descriptor'=>'jad','text/vnd.wap.wml'=>'wml','text/vnd.wap.wmlscript'=>'wmls','text/x-asm'=>'s','text/x-c'=>'c','text/x-fortran'=>'f','text/x-pascal'=>'p','text/x-java-source'=>'java','text/x-setext'=>'etx','text/x-uuencode'=>'uu','text/x-vcalendar'=>'vcs','text/x-vcard'=>'vcf','video/3gpp'=>'3gp','video/3gpp2'=>'3g2','video/h261'=>'h261','video/h263'=>'h263','video/h264'=>'h264','video/jpeg'=>'jpgv','video/jpm'=>'jpm','video/mj2'=>'mj2','video/mp4'=>'mp4','video/mpeg'=>'mpeg','video/ogg'=>'ogv','video/quicktime'=>'qt','video/vnd.dece.hd'=>'uvh','video/vnd.dece.mobile'=>'uvm','video/vnd.dece.pd'=>'uvp','video/vnd.dece.sd'=>'uvs','video/vnd.dece.video'=>'uvv','video/vnd.dvb.file'=>'dvb','video/vnd.fvt'=>'fvt','video/vnd.mpegurl'=>'mxu','video/vnd.ms-playready.media.pyv'=>'pyv','video/vnd.uvvu.mp4'=>'uvu','video/vnd.vivo'=>'viv','video/webm'=>'webm','video/x-f4v'=>'f4v','video/x-fli'=>'fli','video/x-flv'=>'flv','video/x-m4v'=>'m4v','video/x-ms-asf'=>'asf','video/x-ms-wm'=>'wm','video/x-ms-wmv'=>'wmv','video/x-ms-wmx'=>'wmx','video/x-ms-wvx'=>'wvx','video/x-msvideo'=>'avi','video/x-sgi-movie'=>'movie','x-conference/x-cooltalk'=>'ice',];public static function getExtension(string $mimeType):?stringtryreturn self::MAP[$mimeType];catch(\Exception $exception)return null; ?>

【讨论】:

【参考方案7】:

仅使用纯 PHP 来解决这个问题是非常困难的。正如几乎所有先前的答案所指出的那样,您必须手动管理 MIME 到扩展名的映射。

幸运的是,有一个很棒的composer library that just does that for you:

composer require ralouphie/mimey

然后就是:

<?php
$mimes = new \Mimey\MimeTypes;
$mimes->getExtension('application/x-font-otf'); // otf
$mimes->getAllExtensions('image/jpeg'); // array('jpeg', 'jpg', 'jpe')

【讨论】:

【参考方案8】:

您可以使用手册中的功能comment by Josh Sean 不是很好,但工作代码:)

define(
  'APACHE_MIME_TYPES_URL',
  'http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types');

function generateUpToDateMimeArray($url)

  $s = array();
  foreach(@explode("\n",@file_get_contents($url))as $x)
    if(isset($x[0])&&$x[0]!=='#'&&preg_match_all('#([^\s]+)#',$x,$out)&&isset($out[1])&&($c=count($out[1]))>1)
        for($i=1;$i<$c;$i++)
            $s[]='&nbsp;&nbsp;&nbsp;\''.$out[1][$i].'\' => \''.$out[1][0].'\'';
  return @sort($s)?'$mime_types = array(<br />'.implode($s,',<br />').'<br />);':false;


echo generateUpToDateMimeArray(APACHE_MIME_TYPES_URL);

您可以找到here 的完整 mime 类型列表。

但我认为最佳解决方案是从文件'/etc/mime.types'中获取信息:Ready-made code

【讨论】:

【参考方案9】:

我想在我的数据库中使用above list,所以我将其转换为 SQL:

CREATE TABLE `mimetype` (
  `mimetype_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mimetype` varchar(100) COLLATE utf16_unicode_ci NOT NULL DEFAULT '',
  `extension` varchar(10) COLLATE utf16_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`mimetype_id`),
  UNIQUE KEY `mimetype` (`mimetype`)
);

INSERT INTO `mimetype` (`mimetype`,`extension`) VALUES
('application/bmp', 'bmp'),
('application/cdr', 'cdr'),
('application/coreldraw', 'cdr'),
('application/excel', 'xl'),
('application/gpg-keys', 'gpg'),
('application/java-archive', 'jar'),
('application/json', 'json'),
('application/mac-binary', 'bin'),
('application/mac-binhex', 'hqx'),
('application/mac-binhex40', 'hqx'),
('application/mac-compactpro', 'cpt'),
('application/macbinary', 'bin'),
('application/msexcel', 'xls'),
('application/msword', 'doc'),
('application/octet-stream', 'pdf'),
('application/oda', 'oda'),
('application/ogg', 'ogg'),
('application/pdf', 'pdf'),
('application/pgp', 'pgp'),
('application/php', 'php'),
('application/pkcs-crl', 'crl'),
('application/pkcs10', 'p10'),
('application/pkcs7-mime', 'p7c'),
('application/pkcs7-signature', 'p7s'),
('application/pkix-cert', 'crt'),
('application/pkix-crl', 'crl'),
('application/postscript', 'ai'),
('application/powerpoint', 'ppt'),
('application/rar', 'rar'),
('application/s-compressed', 'zip'),
('application/smil', 'smil'),
('application/videolan', 'vlc'),
('application/vnd.google-earth.kml+xml', 'kml'),
('application/vnd.google-earth.kmz', 'kmz'),
('application/vnd.mif', 'mif'),
('application/vnd.mpegurl', 'm4u'),
('application/vnd.ms-excel', 'xlsx'),
('application/vnd.ms-office', 'ppt'),
('application/vnd.ms-powerpoint', 'ppt'),
('application/vnd.msexcel', 'csv'),
('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pptx'),
('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx'),
('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'docx'),
('application/wbxml', 'wbxml'),
('application/wmlc', 'wmlc'),
('application/x-binary', 'bin'),
('application/x-binhex40', 'hqx'),
('application/x-bmp', 'bmp'),
('application/x-cdr', 'cdr'),
('application/x-compress', 'z'),
('application/x-compressed', '7zip'),
('application/x-coreldraw', 'cdr'),
('application/x-director', 'dcr'),
('application/x-dos_ms_excel', 'xls'),
('application/x-dvi', 'dvi'),
('application/x-excel', 'xls'),
('application/x-gtar', 'gtar'),
('application/x-gzip', 'gzip'),
('application/x-gzip-compressed', 'tgz'),
('application/x-httpd-php', 'php'),
('application/x-httpd-php-source', 'php'),
('application/x-jar', 'jar'),
('application/x-java-application', 'jar'),
('application/x-javascript', 'js'),
('application/x-mac-binhex40', 'hqx'),
('application/x-macbinary', 'bin'),
('application/x-ms-excel', 'xls'),
('application/x-msdownload', 'exe'),
('application/x-msexcel', 'xls'),
('application/x-pem-file', 'pem'),
('application/x-photoshop', 'psd'),
('application/x-php', 'php'),
('application/x-pkcs10', 'p10'),
('application/x-pkcs12', 'p12'),
('application/x-pkcs7', 'rsa'),
('application/x-pkcs7-certreqresp', 'p7r'),
('application/x-pkcs7-mime', 'p7c'),
('application/x-pkcs7-signature', 'p7a'),
('application/x-rar', 'rar'),
('application/x-rar-compressed', 'rar'),
('application/x-shockwave-flash', 'swf'),
('application/x-stuffit', 'sit'),
('application/x-tar', 'tar'),
('application/x-troff-msvideo', 'avi'),
('application/x-win-bitmap', 'bmp'),
('application/x-x509-ca-cert', 'crt'),
('application/x-x509-user-cert', 'pem'),
('application/x-xls', 'xls'),
('application/x-zip', 'zip'),
('application/x-zip-compressed', 'zip'),
('application/xhtml+xml', 'xhtml'),
('application/xls', 'xls'),
('application/xml', 'xml'),
('application/xspf+xml', 'xspf'),
('application/zip', 'zip'),
('audio/ac3', 'ac3'),
('audio/aiff', 'aif'),
('audio/midi', 'mid'),
('audio/mp3', 'mp3'),
('audio/mp4', 'm4a'),
('audio/mpeg', 'mp3'),
('audio/mpeg3', 'mp3'),
('audio/mpg', 'mp3'),
('audio/ogg', 'ogg'),
('audio/wav', 'wav'),
('audio/wave', 'wav'),
('audio/x-acc', 'aac'),
('audio/x-aiff', 'aif'),
('audio/x-au', 'au'),
('audio/x-flac', 'flac'),
('audio/x-m4a', 'm4a'),
('audio/x-ms-wma', 'wma'),
('audio/x-pn-realaudio', 'ram'),
('audio/x-pn-realaudio-plugin', 'rpm'),
('audio/x-realaudio', 'ra'),
('audio/x-wav', 'wav'),
('font/otf', 'otf'),
('font/ttf', 'ttf'),
('font/woff', 'woff'),
('font/woff2', 'woff2'),
('image/bmp', 'bmp'),
('image/cdr', 'cdr'),
('image/gif', 'gif'),
('image/jp2', 'jp2'),
('image/jpeg', 'jpeg'),
('image/jpm', 'jp2'),
('image/jpx', 'jp2'),
('image/ms-bmp', 'bmp'),
('image/pjpeg', 'jpeg'),
('image/png', 'png'),
('image/svg+xml', 'svg'),
('image/tiff', 'tiff'),
('image/vnd.adobe.photoshop', 'psd'),
('image/vnd.microsoft.icon', 'ico'),
('image/webp', 'webp'),
('image/x-bitmap', 'bmp'),
('image/x-bmp', 'bmp'),
('image/x-cdr', 'cdr'),
('image/x-ico', 'ico'),
('image/x-icon', 'ico'),
('image/x-ms-bmp', 'bmp'),
('image/x-png', 'png'),
('image/x-win-bitmap', 'bmp'),
('image/x-windows-bmp', 'bmp'),
('image/x-xbitmap', 'bmp'),
('message/rfc822', 'eml'),
('multipart/x-zip', 'zip'),
('text/calendar', 'ics'),
('text/comma-separated-values', 'csv'),
('text/css', 'css'),
('text/html', 'html'),
('text/json', 'json'),
('text/php', 'php'),
('text/plain', 'txt'),
('text/richtext', 'rtx'),
('text/rtf', 'rtf'),
('text/srt', 'srt'),
('text/vtt', 'vtt'),
('text/x-comma-separated-values', 'csv'),
('text/x-log', 'log'),
('text/x-php', 'php'),
('text/x-scriptzsh', 'zsh'),
('text/x-vcard', 'vcf'),
('text/xml', 'xml'),
('text/xsl', 'xsl'),
('video/3gp', '3gp'),
('video/3gpp', '3gp'),
('video/3gpp2', '3g2'),
('video/avi', 'avi'),
('video/mj2', 'jp2'),
('video/mp4', 'mp4'),
('video/mpeg', 'mpeg'),
('video/msvideo', 'avi'),
('video/ogg', 'ogg'),
('video/quicktime', 'mov'),
('video/vnd.rn-realvideo', 'rv'),
('video/webm', 'webm'),
('video/x-f4v', 'f4v'),
('video/x-flv', 'flv'),
('video/x-ms-asf', 'wmv'),
('video/x-ms-wmv', 'wmv'),
('video/x-msvideo', 'avi'),
('video/x-sgi-movie', 'movie'),
('zz-application/zz-winassoc-cdr', 'cdr');

【讨论】:

以上是关于将 MIME 类型转换为文件扩展名 PHP的主要内容,如果未能解决你的问题,请参考以下文章

检查文件 mime 类型是不是与 php 中的扩展名匹配

PHP 文件的自定义 MIME 类型

文件拓展名 对应的MIME类型,文件下传上载有用怎么解决

在没有 MIME 或扩展名的 PHP 中确定文件类型

在没有 PECL 扩展的 PHP5 中获取本地文件的 MIME 类型?

如何使用 php 在文件上设置 mime 类型?