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