博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IE和firefox上传文件mime类型的设置
阅读量:4056 次
发布时间:2019-05-25

本文共 6113 字,大约阅读时间需要 20 分钟。

php上传文件mime类型问题。。。。。。。

php上传文件支持的mime类型在不同的浏览器下是有差异的。先附上两个浏览器下支持的文件类型如下:
史上最完全oophper亲测版php文件上传之文件类型对应表,ie,火狐各一份。
 
            IE下
id 后缀名 php识别出的文件类型
0 gif image/gif
1 jpg image/jpeg
2 png image/png
3 bmp image/bmp
4 psd application/octet-stream
5 ico image/x-icon
6 rar application/octet-stream
7 zip application/zip
8 7z application/octet-stream
9 exe application/octet-stream
10 avi video/avi
11 rmvb application/vnd.rn-realmedia-vbr
12 3gp application/octet-stream
13 flv application/octet-stream
14 mp3 audio/mpeg
15 wav audio/wav
16 krc application/octet-stream
17 lrc application/octet-stream
18 txt text/plain
19 doc application/msword
20 xls application/vnd.ms-excel
21 ppt application/vnd.ms-powerpoint
22 pdf application/pdf
23 chm application/octet-stream
24 mdb application/msaccess
25 sql application/octet-stream
26 con application/octet-stream
27 log text/plain
28 dat application/octet-stream
29 ini application/octet-stream
30 php application/octet-stream
31 html text/html
32 htm text/html
33 ttf application/octet-stream
34 fon application/octet-stream
35 js application/x-javascript
36 xml text/xml
37 dll application/octet-stream
38 dll application/octet-stream
Firefox下   
id 后缀名 php识别出的文件类型
0 gif image/gif
1 jpg image/pjpeg
2 png image/x-png
3 bmp image/bmp
4 psd application/octet-stream
5 ico image/x-icon
6 rar application/octet-stream
7 zip application/x-zip-compressed
8 7z application/octet-stream
9 exe application/octet-stream
10 avi video/avi
11 rmvb application/vnd.rn-realmedia-vbr
12 3gp application/octet-stream
13 flv application/octet-stream
14 mp3 audio/mpeg
15 wav audio/wav
16 krc application/octet-stream
17 lrc application/octet-stream
18 txt text/plain
19 doc application/msword
20 xls application/vnd.ms-excel
21 ppt application/vnd.ms-powerpoint
22 pdf application/pdf
23 chm application/octet-stream
24 mdb application/msaccess
25 sql text/plain
26 con application/octet-stream
27 log text/plain
28 dat text/plain
29 ini application/octet-stream
30 php application/octet-stream
31 html text/html
32 htm text/html
33 ttf application/octet-stream
34 fon application/octet-stream
35 js text/html
36 xml text/xml
37 dll application/octet-stream
38 class application/java
还有一份是有人直接写好的一个php支持的mime类型数组,一并附上,希望有助于大家:
$mimes = array(    'hqx'    =>    'application/mac-binhex40',
                'cpt'    =>    'application/mac-compactpro',
                'csv'    =>    array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
                'bin'    =>    'application/macbinary',
                'dms'    =>    'application/octet-stream',
                'lha'    =>    'application/octet-stream',
                'lzh'    =>    'application/octet-stream',
                'exe'    =>    array('application/octet-stream', 'application/x-msdownload'),
                'class'    =>    'application/octet-stream',
                'psd'    =>    'application/x-photoshop',
                'so'    =>    'application/octet-stream',
                'sea'    =>    'application/octet-stream',
                'dll'    =>    'application/octet-stream',
                'oda'    =>    'application/oda',
                'pdf'    =>    array('application/pdf', 'application/x-download'),
                'ai'    =>    'application/postscript',
                'eps'    =>    'application/postscript',
                'ps'    =>    'application/postscript',
                'smi'    =>    'application/smil',
                'smil'    =>    'application/smil',
                'mif'    =>    'application/vnd.mif',
                'xls'    =>    array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
                'ppt'    =>    array('application/powerpoint', 'application/vnd.ms-powerpoint'),
                'wbxml'    =>    'application/wbxml',
                'wmlc'    =>    'application/wmlc',
                'dcr'    =>    'application/x-director',
                'dir'    =>    'application/x-director',
                'dxr'    =>    'application/x-director',
                'dvi'    =>    'application/x-dvi',
                'gtar'    =>    'application/x-gtar',
                'gz'    =>    'application/x-gzip',
                'php'    =>    'application/x-httpd-php',
                'php4'    =>    'application/x-httpd-php',
                'php3'    =>    'application/x-httpd-php',
                'phtml'    =>    'application/x-httpd-php',
                'phps'    =>    'application/x-httpd-php-source',
                'js'    =>    'application/x-javascript',
                'swf'    =>    'application/x-shockwave-flash',
                'sit'    =>    'application/x-stuffit',
                'tar'    =>    'application/x-tar',
                'tgz'    =>    array('application/x-tar', 'application/x-gzip-compressed'),
                'xhtml'    =>    'application/xhtml+xml',
                'xht'    =>    'application/xhtml+xml',
                'zip'    =>  array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
                'mid'    =>    'audio/midi',
                'midi'    =>    'audio/midi',
                'mpga'    =>    'audio/mpeg',
                'mp2'    =>    'audio/mpeg',
                'mp3'    =>    array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
                'aif'    =>    'audio/x-aiff',
                'aiff'    =>    'audio/x-aiff',
                'aifc'    =>    'audio/x-aiff',
                'ram'    =>    'audio/x-pn-realaudio',
                'rm'    =>    'audio/x-pn-realaudio',
                'rpm'    =>    'audio/x-pn-realaudio-plugin',
                'ra'    =>    'audio/x-realaudio',
                'rv'    =>    'video/vnd.rn-realvideo',
                'wav'    =>    'audio/x-wav',
                'bmp'    =>    'image/bmp',
                'gif'    =>    'image/gif',
                'jpeg'    =>    array('image/jpeg', 'image/pjpeg'),
                'jpg'    =>    array('image/jpeg', 'image/pjpeg'),
                'jpe'    =>    array('image/jpeg', 'image/pjpeg'),
                'png'    =>    array('image/png',  'image/x-png'),
                'tiff'    =>    'image/tiff',
                'tif'    =>    'image/tiff',
                'css'    =>    'text/css',
                'html'    =>    'text/html',
                'htm'    =>    'text/html',
                'shtml'    =>    'text/html',
                'txt'    =>    'text/plain',
                'text'    =>    'text/plain',
                'log'    =>    array('text/plain', 'text/x-log'),
                'rtx'    =>    'text/richtext',
                'rtf'    =>    'text/rtf',
                'xml'    =>    'text/xml',
                'xsl'    =>    'text/xml',
                'mpeg'    =>    'video/mpeg',
                'mpg'    =>    'video/mpeg',
                'mpe'    =>    'video/mpeg',
                'qt'    =>    'video/quicktime',
                'mov'    =>    'video/quicktime',
                'avi'    =>    'video/x-msvideo',
                'movie'    =>    'video/x-sgi-movie',
                'doc'    =>    'application/msword',
                'docx'    =>    'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
                'xlsx'    =>    'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
                'word'    =>    array('application/msword', 'application/octet-stream'),
                'xl'    =>    'application/excel',
                'eml'    =>    'message/rfc822',
                'json' => array('application/json', 'text/json')
            );
贴完了相关资料后我说下我的问题吧。直接在网上上传exe文件是件很危险的事情。我目前用的浏览器是火狐的,我在上传文件mime类型列表中写入了允许上传的文件类型。我禁止上传exe文件。语句是这样的
     while($type==
'application/octet-stream'){
                             echo "<script>alert(\"为了网络安全性,请不要上传可执行文件\(exe\)\!\");</script>";
                               exit();
           }
我用红色字体标注出来的文件类型为php下火狐支持的exe文件mime类型。但我禁止了exe文件的上传。连
7z .psd.ini ,ttf,php.fon
等文件也禁止了,因为他们的mime类型是一样的,有高手能帮个忙说下应该怎么绕过这个瓶颈呢,忘路过的大神指点。。。。

转载地址:http://ddlci.baihongyu.com/

你可能感兴趣的文章
Letter Combinations of a Phone Number
查看>>
3Sum
查看>>
Trapping Rain Water
查看>>
Pow(x, n)
查看>>
Partition List
查看>>
Fraction to Recurring Decimal
查看>>
Find Peak Element
查看>>
Maximum Product Subarray
查看>>
3Sum Closest
查看>>
4Sum
查看>>
Merge k Sorted Lists
查看>>
Largest Number
查看>>
MySQL查询及删除重复记录的方法
查看>>
Convert Sorted Array to Binary Search Tree
查看>>
Permutations
查看>>
Binary Tree Postorder Traversal
查看>>
Spiral Matrix II
查看>>
Set Matrix Zeroes
查看>>
Linked List Cycle II
查看>>
Remove Duplicates from Sorted Array II
查看>>