PHPでのMIMEタイプ取得にはmime_content_typeを使いましょう
PHPにおけるファイルのMIMEタイプ取得にはmime_content_typeを使いましょう。
一部で非推奨とする誤った情報が根強いようですが、これは2016年までの話です。
今も一部のドキュメントでは非推奨と表示されていますが、それは誤りです。
mime_content_typeが取得する代表的なMIMEタイプを下記に列挙します。
<?php $mime_types = [ 'application/javascript'=>['js'], 'application/json'=>['json'], 'application/msword'=>['doc'], 'application/pdf'=>['pdf'], 'application/vnd.ms-cab-compressed'=>['cab'], 'application/vnd.ms-excel'=>['xls'], 'application/vnd.ms-outlook'=>['msg'], 'application/vnd.ms-powerpoint'=>['ppt'], 'application/vnd.oasis.opendocument.spreadsheet'=>['ods'], 'application/vnd.oasis.opendocument.text'=>['odt'], 'application/vnd.openxmlformats-officedocument.presentationml.presentation'=>['xlsm', 'xlsx'], 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'=>['docm', 'docx'], 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'=>['pptm', 'pptx'], 'application/x-lzh-compressed'=>['lzh'], 'application/xml'=>['xml'], 'application/x-msaccess'=>['accdb', 'mdb'], 'application/x-msdownload'=>['exe', 'msi'], 'application/x-rar-compressed'=>['rar'], 'application/x-shockwave-flash'=>['swf'], 'application/zip'=>['3mf', 'zip'], 'audio/mpeg'=>['mp3'], 'image/bmp'=>['bmp'], 'image/gif'=>['gif'], 'image/jpeg'=>['jpe', 'jpeg', 'jpg'], 'image/png'=>['png'], 'image/svg+xml'=>['svg', 'svgz'], 'image/tiff'=>['tif'], 'image/tiff'=>['tiff'], 'image/vnd.microsoft.icon'=>['ico'], 'text/css'=>['css'], 'text/html'=>['htm', 'html', 'odc', 'php'], 'text/plain'=>['bas', 'bat', 'cls', 'csv', 'ini', 'php', 'txt', 'vbs'], 'video/mp4'=>['mp4'], 'video/quicktime'=>['mov', 'qt'], 'video/x-flv'=>['flv'], ];
ちなみに、上記に含みませんでしたが、扱いがありそうなファイルについても表にします。
MIME type | Extension |
---|---|
application/postscript | ai |
application/postscript | eps |
application/postscript | ps |
application/rtf | rtf |