Get File MIME type in PHP

How To

PHP's finfo class wraps the fileinfo functions which can be used to get the MIME type of a file:

$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->file('/tmp/test-file.xlsx');

This will give us a $mimeType of application/vnd.openxmlformats-officedocument.spreadsheetml.sheet and is a great way to dynamically get the MIME type of a file.

Here is the PHP documenation for the finfo class: https://www.php.net/manual/en/class.finfo.php, and here are the constants that can be passed when instantiating the class: https://www.php.net/manual/en/fileinfo.constants.php

A Woefully Incomplete List of MIME Types:

  • .3dm x-world/x-3dmf
  • .3dmf x-world/x-3dmf
  • .a application/octet-stream
  • .aab application/x-authorware-bin
  • .aam application/x-authorware-map
  • .aas application/x-authorware-seg
  • .abc text/vnd.abc
  • .acgi text/html
  • .afl video/animaflex
  • .ai application/postscript
  • .aif audio/aiff
  • .aif audio/x-aiff
  • .aifc audio/aiff
  • .aifc audio/x-aiff
  • .aiff audio/aiff
  • .aiff audio/x-aiff
  • .aim application/x-aim
  • .aip text/x-audiosoft-intra
  • .ani application/x-navi-animation
  • .aos application/x-nokia-9000-communicator-add-on-software
  • .aps application/mime
  • .arc application/octet-stream
  • .arj application/arj
  • .arj application/octet-stream
  • .art image/x-jg
  • .asf video/x-ms-asf
  • .asm text/x-asm
  • .asp text/asp
  • .asx application/x-mplayer2
  • .asx video/x-ms-asf
  • .asx video/x-ms-asf-plugin
  • .au audio/basic
  • .au audio/x-au
  • .avi application/x-troff-msvideo
  • .avi video/avi
  • .avi video/msvideo
  • .avi video/x-msvideo
  • .avs video/avs-video
  • .bcpio application/x-bcpio
  • .bin application/mac-binary
  • .bin application/macbinary
  • .bin application/octet-stream
  • .bin application/x-binary
  • .bin application/x-macbinary
  • .bm image/bmp
  • .bmp image/bmp
  • .bmp image/x-windows-bmp
  • .boo application/book
  • .book application/book
  • .boz application/x-bzip2
  • .bsh application/x-bsh
  • .bz application/x-bzip
  • .bz2 application/x-bzip2
  • .c text/plain
  • .c text/x-c
  • .c++ text/plain
  • .cat application/vnd.ms-pki.seccat
  • .cc text/plain
  • .cc text/x-c
  • .ccad application/clariscad
  • .cco application/x-cocoa
  • .cdf application/cdf
  • .cdf application/x-cdf
  • .cdf application/x-netcdf
  • .cer application/pkix-cert
  • .cer application/x-x509-ca-cert
  • .cha application/x-chat
  • .chat application/x-chat
  • .class application/java
  • .class application/java-byte-code
  • .class application/x-java-class
  • .com application/octet-stream
  • .com text/plain
  • .conf text/plain
  • .cpio application/x-cpio
  • .cpp text/x-c
  • .cpt application/mac-compactpro
  • .cpt application/x-compactpro
  • .cpt application/x-cpt
  • .crl application/pkcs-crl
  • .crl application/pkix-crl
  • .crt application/pkix-cert
  • .crt application/x-x509-ca-cert
  • .crt application/x-x509-user-cert
  • .csh application/x-csh
  • .csh text/x-script.csh
  • .css application/x-pointplus
  • .css text/css
  • .cxx text/plain
  • .dcr application/x-director
  • .deepv application/x-deepv
  • .def text/plain
  • .der application/x-x509-ca-cert
  • .dif video/x-dv
  • .dir application/x-director
  • .dl video/dl
  • .dl video/x-dl
  • .doc application/msword
  • .dot application/msword
  • .dp application/commonground
  • .drw application/drafting
  • .dump application/octet-stream
  • .dv video/x-dv
  • .dvi application/x-dvi
  • .dwf drawing/x-dwf (old)
  • .dwf model/vnd.dwf
  • .dwg application/acad
  • .dwg image/vnd.dwg
  • .dwg image/x-dwg
  • .dxf application/dxf
  • .dxf image/vnd.dwg
  • .dxf image/x-dwg
  • .dxr application/x-director
  • .el text/x-script.elisp
  • .elc application/x-bytecode.elisp (compiled elisp)
  • .elc application/x-elc
  • .env application/x-envoy
  • .eps application/postscript
  • .es application/x-esrehber
  • .etx text/x-setext
  • .evy application/envoy
  • .evy application/x-envoy
  • .exe application/octet-stream
  • .f text/plain
  • .f text/x-fortran
  • .f77 text/x-fortran
  • .f90 text/plain
  • .f90 text/x-fortran
  • .fdf application/vnd.fdf
  • .fif application/fractals
  • .fif image/fif
  • .fli video/fli
  • .fli video/x-fli
  • .flo image/florian
  • .flx text/vnd.fmi.flexstor
  • .fmf video/x-atomic3d-feature
  • .for text/plain
  • .for text/x-fortran
  • .fpx image/vnd.fpx
  • .fpx image/vnd.net-fpx
  • .frl application/freeloader
  • .funk audio/make
  • .g text/plain
  • .g3 image/g3fax
  • .gif image/gif
  • .gl video/gl
  • .gl video/x-gl
  • .gsd audio/x-gsm
  • .gsm audio/x-gsm
  • .gsp application/x-gsp
  • .gss application/x-gss
  • .gtar application/x-gtar
  • .gz application/x-compressed
  • .gz application/x-gzip
  • .gzip application/x-gzip
  • .gzip multipart/x-gzip
  • .h text/plain
  • .h text/x-h
  • .hdf application/x-hdf
  • .help application/x-helpfile
  • .hgl application/vnd.hp-hpgl
  • .hh text/plain
  • .hh text/x-h
  • .hlb text/x-script
  • .hlp application/hlp
  • .hlp application/x-helpfile
  • .hlp application/x-winhelp
  • .hpg application/vnd.hp-hpgl
  • .hpgl application/vnd.hp-hpgl
  • .hqx application/binhex
  • .hqx application/binhex4
  • .hqx application/mac-binhex
  • .hqx application/mac-binhex40
  • .hqx application/x-binhex40
  • .hqx application/x-mac-binhex40
  • .hta application/hta
  • .htc text/x-component
  • .htm text/html
  • .html text/html
  • .htmls text/html
  • .htt text/webviewhtml
  • .htx text/html
  • .ice x-conference/x-cooltalk
  • .ico image/x-icon
  • .idc text/plain
  • .ief image/ief
  • .iefs image/ief
  • .iges application/iges
  • .iges model/iges
  • .igs application/iges
  • .igs model/iges
  • .ima application/x-ima
  • .imap application/x-httpd-imap
  • .inf application/inf
  • .ins application/x-internett-signup
  • .ip application/x-ip2
  • .isu video/x-isvideo
  • .it audio/it
  • .iv application/x-inventor
  • .ivr i-world/i-vrml
  • .ivy application/x-livescreen
  • .jam audio/x-jam
  • .jav text/plain
  • .jav text/x-java-source
  • .java text/plain
  • .java text/x-java-source
  • .jcm application/x-java-commerce
  • .jfif image/jpeg
  • .jfif image/pjpeg
  • .jfif-tbnl image/jpeg
  • .jpe image/jpeg
  • .jpe image/pjpeg
  • .jpeg image/jpeg
  • .jpeg image/pjpeg
  • .jpg image/jpeg
  • .jpg image/pjpeg
  • .jps image/x-jps
  • .js application/x-javascript
  • .js application/javascript
  • .js application/ecmascript
  • .js text/javascript
  • .js text/ecmascript
  • .jut image/jutvision
  • .kar audio/midi
  • .kar music/x-karaoke
  • .ksh application/x-ksh
  • .ksh text/x-script.ksh
  • .la audio/nspaudio
  • .la audio/x-nspaudio
  • .lam audio/x-liveaudio
  • .latex application/x-latex
  • .lha application/lha
  • .lha application/octet-stream
  • .lha application/x-lha
  • .lhx application/octet-stream
  • .list text/plain
  • .lma audio/nspaudio
  • .lma audio/x-nspaudio
  • .log text/plain
  • .lsp application/x-lisp
  • .lsp text/x-script.lisp
  • .lst text/plain
  • .lsx text/x-la-asf
  • .ltx application/x-latex
  • .lzh application/octet-stream
  • .lzh application/x-lzh
  • .lzx application/lzx
  • .lzx application/octet-stream
  • .lzx application/x-lzx
  • .m text/plain
  • .m text/x-m
  • .m1v video/mpeg
  • .m2a audio/mpeg
  • .m2v video/mpeg
  • .m3u audio/x-mpequrl
  • .man application/x-troff-man
  • .map application/x-navimap
  • .mar text/plain
  • .mbd application/mbedlet
  • .mc$ application/x-magic-cap-package-1.0
  • .mcd application/mcad
  • .mcd application/x-mathcad
  • .mcf image/vasa
  • .mcf text/mcf
  • .mcp application/netmc
  • .me application/x-troff-me
  • .mht message/rfc822
  • .mhtml message/rfc822
  • .mid application/x-midi
  • .mid audio/midi
  • .mid audio/x-mid
  • .mid audio/x-midi
  • .mid music/crescendo
  • .mid x-music/x-midi
  • .midi application/x-midi
  • .midi audio/midi
  • .midi audio/x-mid
  • .midi audio/x-midi
  • .midi music/crescendo
  • .midi x-music/x-midi
  • .mif application/x-frame
  • .mif application/x-mif
  • .mime message/rfc822
  • .mime www/mime
  • .mjf audio/x-vnd.audioexplosion.mjuicemediafile
  • .mjpg video/x-motion-jpeg
  • .mm application/base64
  • .mm application/x-meme
  • .mme application/base64
  • .mod audio/mod
  • .mod audio/x-mod
  • .moov video/quicktime
  • .mov video/quicktime
  • .movie video/x-sgi-movie
  • .mp2 audio/mpeg
  • .mp2 audio/x-mpeg
  • .mp2 video/mpeg
  • .mp2 video/x-mpeg
  • .mp2 video/x-mpeq2a
  • .mp3 audio/mpeg3
  • .mp3 audio/x-mpeg-3
  • .mp3 video/mpeg
  • .mp3 video/x-mpeg
  • .mpa audio/mpeg
  • .mpa video/mpeg
  • .mpc application/x-project
  • .mpe video/mpeg
  • .mpeg video/mpeg
  • .mpg audio/mpeg
  • .mpg video/mpeg
  • .mpga audio/mpeg
  • .mpp application/vnd.ms-project
  • .mpt application/x-project
  • .mpv application/x-project
  • .mpx application/x-project
  • .mrc application/marc
  • .ms application/x-troff-ms
  • .mv video/x-sgi-movie
  • .my audio/make
  • .mzz application/x-vnd.audioexplosion.mzz
  • .nap image/naplps
  • .naplps image/naplps
  • .nc application/x-netcdf
  • .ncm application/vnd.nokia.configuration-message
  • .nif image/x-niff
  • .niff image/x-niff
  • .nix application/x-mix-transfer
  • .nsc application/x-conference
  • .nvd application/x-navidoc
  • .o application/octet-stream
  • .oda application/oda
  • .omc application/x-omc
  • .omcd application/x-omcdatamaker
  • .omcr application/x-omcregerator
  • .p text/x-pascal
  • .p10 application/pkcs10
  • .p10 application/x-pkcs10
  • .p12 application/pkcs-12
  • .p12 application/x-pkcs12
  • .p7a application/x-pkcs7-signature
  • .p7c application/pkcs7-mime
  • .p7c application/x-pkcs7-mime
  • .p7m application/pkcs7-mime
  • .p7m application/x-pkcs7-mime
  • .p7r application/x-pkcs7-certreqresp
  • .p7s application/pkcs7-signature
  • .part application/pro_eng
  • .pas text/pascal
  • .pbm image/x-portable-bitmap
  • .pcl application/vnd.hp-pcl
  • .pcl application/x-pcl
  • .pct image/x-pict
  • .pcx image/x-pcx
  • .pdb chemical/x-pdb
  • .pdf application/pdf
  • .pfunk audio/make
  • .pfunk audio/make.my.funk
  • .pgm image/x-portable-graymap
  • .pgm image/x-portable-greymap
  • .pic image/pict
  • .pict image/pict
  • .pkg application/x-newton-compatible-pkg
  • .pko application/vnd.ms-pki.pko
  • .pl text/plain
  • .pl text/x-script.perl
  • .plx application/x-pixclscript
  • .pm image/x-xpixmap
  • .pm text/x-script.perl-module
  • .pm4 application/x-pagemaker
  • .pm5 application/x-pagemaker
  • .png image/png
  • .pnm application/x-portable-anymap
  • .pnm image/x-portable-anymap
  • .pot application/mspowerpoint
  • .pot application/vnd.ms-powerpoint
  • .pov model/x-pov
  • .ppa application/vnd.ms-powerpoint
  • .ppm image/x-portable-pixmap
  • .pps application/mspowerpoint
  • .pps application/vnd.ms-powerpoint
  • .ppt application/mspowerpoint
  • .ppt application/powerpoint
  • .ppt application/vnd.ms-powerpoint
  • .ppt application/x-mspowerpoint
  • .ppz application/mspowerpoint
  • .pre application/x-freelance
  • .prt application/pro_eng
  • .ps application/postscript
  • .psd application/octet-stream
  • .pvu paleovu/x-pv
  • .pwz application/vnd.ms-powerpoint
  • .py text/x-script.phyton
  • .pyc application/x-bytecode.python
  • .qcp audio/vnd.qcelp
  • .qd3 x-world/x-3dmf
  • .qd3d x-world/x-3dmf
  • .qif image/x-quicktime
  • .qt video/quicktime
  • .qtc video/x-qtc
  • .qti image/x-quicktime
  • .qtif image/x-quicktime
  • .ra audio/x-pn-realaudio
  • .ra audio/x-pn-realaudio-plugin
  • .ra audio/x-realaudio
  • .ram audio/x-pn-realaudio
  • .ras application/x-cmu-raster
  • .ras image/cmu-raster
  • .ras image/x-cmu-raster
  • .rast image/cmu-raster
  • .rexx text/x-script.rexx
  • .rf image/vnd.rn-realflash
  • .rgb image/x-rgb
  • .rm application/vnd.rn-realmedia
  • .rm audio/x-pn-realaudio
  • .rmi audio/mid
  • .rmm audio/x-pn-realaudio
  • .rmp audio/x-pn-realaudio
  • .rmp audio/x-pn-realaudio-plugin
  • .rng application/ringing-tones
  • .rng application/vnd.nokia.ringing-tone
  • .rnx application/vnd.rn-realplayer
  • .roff application/x-troff
  • .rp image/vnd.rn-realpix
  • .rpm audio/x-pn-realaudio-plugin
  • .rt text/richtext
  • .rt text/vnd.rn-realtext
  • .rtf application/rtf
  • .rtf application/x-rtf
  • .rtf text/richtext
  • .rtx application/rtf
  • .rtx text/richtext
  • .rv video/vnd.rn-realvideo
  • .s text/x-asm
  • .s3m audio/s3m
  • .saveme application/octet-stream
  • .sbk application/x-tbook
  • .scm application/x-lotusscreencam
  • .scm text/x-script.guile
  • .scm text/x-script.scheme
  • .scm video/x-scm
  • .sdml text/plain
  • .sdp application/sdp
  • .sdp application/x-sdp
  • .sdr application/sounder
  • .sea application/sea
  • .sea application/x-sea
  • .set application/set
  • .sgm text/sgml
  • .sgm text/x-sgml
  • .sgml text/sgml
  • .sgml text/x-sgml
  • .sh application/x-bsh
  • .sh application/x-sh
  • .sh application/x-shar
  • .sh text/x-script.sh
  • .shar application/x-bsh
  • .shar application/x-shar
  • .shtml text/html
  • .shtml text/x-server-parsed-html
  • .sid audio/x-psid
  • .sit application/x-sit
  • .sit application/x-stuffit
  • .skd application/x-koan
  • .skm application/x-koan
  • .skp application/x-koan
  • .skt application/x-koan
  • .sl application/x-seelogo
  • .smi application/smil
  • .smil application/smil
  • .snd audio/basic
  • .snd audio/x-adpcm
  • .sol application/solids
  • .spc application/x-pkcs7-certificates
  • .spc text/x-speech
  • .spl application/futuresplash
  • .spr application/x-sprite
  • .sprite application/x-sprite
  • .src application/x-wais-source
  • .ssi text/x-server-parsed-html
  • .ssm application/streamingmedia
  • .sst application/vnd.ms-pki.certstore
  • .step application/step
  • .stl application/sla
  • .stl application/vnd.ms-pki.stl
  • .stl application/x-navistyle
  • .stp application/step
  • .sv4cpio application/x-sv4cpio
  • .sv4crc application/x-sv4crc
  • .svf image/vnd.dwg
  • .svf image/x-dwg
  • .svr application/x-world
  • .svr x-world/x-svr
  • .swf application/x-shockwave-flash
  • .t application/x-troff
  • .talk text/x-speech
  • .tar application/x-tar
  • .tbk application/toolbook
  • .tbk application/x-tbook
  • .tcl application/x-tcl
  • .tcl text/x-script.tcl
  • .tcsh text/x-script.tcsh
  • .tex application/x-tex
  • .texi application/x-texinfo
  • .texinfo application/x-texinfo
  • .text application/plain
  • .text text/plain
  • .tgz application/gnutar
  • .tgz application/x-compressed
  • .tif image/tiff
  • .tif image/x-tiff
  • .tiff image/tiff
  • .tiff image/x-tiff
  • .tr application/x-troff
  • .tsi audio/tsp-audio
  • .tsp application/dsptype
  • .tsp audio/tsplayer
  • .tsv text/tab-separated-values
  • .turbot image/florian
  • .txt text/plain
  • .uil text/x-uil
  • .uni text/uri-list
  • .unis text/uri-list
  • .unv application/i-deas
  • .uri text/uri-list
  • .uris text/uri-list
  • .ustar application/x-ustar
  • .ustar multipart/x-ustar
  • .uu application/octet-stream
  • .uu text/x-uuencode
  • .uue text/x-uuencode
  • .vcd application/x-cdlink
  • .vcs text/x-vcalendar
  • .vda application/vda
  • .vdo video/vdo
  • .vew application/groupwise
  • .viv video/vivo
  • .viv video/vnd.vivo
  • .vivo video/vivo
  • .vivo video/vnd.vivo
  • .vmd application/vocaltec-media-desc
  • .vmf application/vocaltec-media-file
  • .voc audio/voc
  • .voc audio/x-voc
  • .vos video/vosaic
  • .vox audio/voxware
  • .vqe audio/x-twinvq-plugin
  • .vqf audio/x-twinvq
  • .vql audio/x-twinvq-plugin
  • .vrml application/x-vrml
  • .vrml model/vrml
  • .vrml x-world/x-vrml
  • .vrt x-world/x-vrt
  • .vsd application/x-visio
  • .vst application/x-visio
  • .vsw application/x-visio
  • .w60 application/wordperfect6.0
  • .w61 application/wordperfect6.1
  • .w6w application/msword
  • .wav audio/wav
  • .wav audio/x-wav
  • .wb1 application/x-qpro
  • .wbmp image/vnd.wap.wbmp
  • .web application/vnd.xara
  • .wiz application/msword
  • .wk1 application/x-123
  • .wmf windows/metafile
  • .wml text/vnd.wap.wml
  • .wmlc application/vnd.wap.wmlc
  • .wmls text/vnd.wap.wmlscript
  • .wmlsc application/vnd.wap.wmlscriptc
  • .word application/msword
  • .wp application/wordperfect
  • .wp5 application/wordperfect
  • .wp5 application/wordperfect6.0
  • .wp6 application/wordperfect
  • .wpd application/wordperfect
  • .wpd application/x-wpwin
  • .wq1 application/x-lotus
  • .wri application/mswrite
  • .wri application/x-wri
  • .wrl application/x-world
  • .wrl model/vrml
  • .wrl x-world/x-vrml
  • .wrz model/vrml
  • .wrz x-world/x-vrml
  • .wsc text/scriplet
  • .wsrc application/x-wais-source
  • .wtk application/x-wintalk
  • .xbm image/x-xbitmap
  • .xbm image/x-xbm
  • .xbm image/xbm
  • .xdr video/x-amt-demorun
  • .xgz xgl/drawing
  • .xif image/vnd.xiff
  • .xl application/excel
  • .xla application/excel
  • .xla application/x-excel
  • .xla application/x-msexcel
  • .xlb application/excel
  • .xlb application/vnd.ms-excel
  • .xlb application/x-excel
  • .xlc application/excel
  • .xlc application/vnd.ms-excel
  • .xlc application/x-excel
  • .xld application/excel
  • .xld application/x-excel
  • .xlk application/excel
  • .xlk application/x-excel
  • .xll application/excel
  • .xll application/vnd.ms-excel
  • .xll application/x-excel
  • .xlm application/excel
  • .xlm application/vnd.ms-excel
  • .xlm application/x-excel
  • .xls application/excel
  • .xls application/vnd.ms-excel
  • .xls application/x-excel
  • .xls application/x-msexcel
  • .xlt application/excel
  • .xlt application/x-excel
  • .xlv application/excel
  • .xlv application/x-excel
  • .xlw application/excel
  • .xlw application/vnd.ms-excel
  • .xlw application/x-excel
  • .xlw application/x-msexcel
  • .xm audio/xm
  • .xml application/xml
  • .xml text/xml
  • .xmz xgl/movie
  • .xpix application/x-vnd.ls-xpix
  • .xpm image/x-xpixmap
  • .xpm image/xpm
  • .x-png image/png
  • .xsr video/x-amt-showrun
  • .xwd image/x-xwd
  • .xwd image/x-xwindowdump
  • .xyz chemical/x-pdb
  • .z application/x-compress
  • .z application/x-compressed
  • .zip application/x-compressed
  • .zip application/x-zip-compressed
  • .zip application/zip
  • .zip multipart/x-zip
  • .zoo application/octet-stream
  • .zsh text/x-script.zsh

Tags

 PHP  MIME types