首页 > php代码 > PHP文件上传类型后辍名对应mine对照表

PHP文件上传类型后辍名对应mine对照表

在php上传文件或图片时我们会碰到要限制上传文件的类型,如果我们单只限制后缀名是很容易给绕过去的,下面我找了一些后辍名对应mine对照表,希望对大家有帮助。

使用PHP脚本上传文件时需要将文件格式处理为PHP所认识的文件类型,例如(.jpg的文件格式为image/jpeg)。这个格式的判断首先是由浏览器完成的,浏览器通过表单的提交判断是某类文件,再提交给php进行处理。

有时候不同浏览器对文件类型的定义不相同,因此有时候需要对不同的浏览器做判断。其实可以将不同浏览器的类型都加入到判断中。

下面提供一张IE和火狐浏览器的文件类型对照表:

ie火狐
id后缀名php识别出的文件类型0gifimage/gif1jpgimage/jpeg2pngimage/png3bmpimage/bmp4psdapplication/octet-stream5icoimage/x-icon6rarapplication/octet-stream7zipapplication/zip87zapplication/octet-stream9exeapplication/octet-stream10avivideo/avi11rmvbapplication/vnd.rn-realmedia-vbr123gpapplication/octet-stream13flvapplication/octet-stream14mp3audio/mpeg15wavaudio/wav16krcapplication/octet-stream17lrcapplication/octet-stream18txttext/plain19docapplication/msword20xlsapplication/vnd.ms-excel21pptapplication/vnd.ms-powerpoint22pdfapplication/pdf23chmapplication/octet-stream24mdbapplication/msaccess25sqlapplication/octet-stream26conapplication/octet-stream27logtext/plain28datapplication/octet-stream29iniapplication/octet-stream30phpapplication/octet-stream31htmltext/html32htmtext/html33ttfapplication/octet-stream34fonapplication/octet-stream35jsapplication/x-javascript36xmltext/xml37dllapplication/octet-stream38dllapplication/octet-streamid后缀名php识别出的文件类型0gifimage/gif1jpgimage/pjpeg2pngimage/x-png3bmpimage/bmp4psdapplication/octet-stream5icoimage/x-icon6rarapplication/octet-stream7zipapplication/x-zip-compressed87zapplication/octet-stream9exeapplication/octet-stream10avivideo/avi11rmvbapplication/vnd.rn-realmedia-vbr123gpapplication/octet-stream13flvapplication/octet-stream14mp3audio/mpeg15wavaudio/wav16krcapplication/octet-stream17lrcapplication/octet-stream18txttext/plain19docapplication/msword20xlsapplication/vnd.ms-excel21pptapplication/vnd.ms-powerpoint22pdfapplication/pdf23chmapplication/octet-stream24mdbapplication/msaccess25sqltext/plain26conapplication/octet-stream27logtext/plain28dattext/plain29iniapplication/octet-stream30phpapplication/octet-stream31htmltext/html32htmtext/html33ttfapplication/octet-stream34fonapplication/octet-stream35jstext/html36xmltext/xml37dllapplication/octet-stream38classapplication/java

 

下面看一个实例

<?php
$temppath = $upfile['tmp_name'];
$fileinfo = pathinfo($upfile['name']);
$extension = $upfile['type'];
//echo $extension;
//exit;
switch ($extension) {
    case 'application/msword':
        $extension = 'doc';
        break;
    case 'application/vnd.ms-excel':
        $extension = 'xls';
        break;
    case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
        $extension = 'docx';
        break;
    case 'application/vnd.ms-powerpoint':
        $extension = 'ppt';
        break;
    case 'application/pdf':
        $extension = 'pdf';
        break;
    case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':
        $extension = 'xlsx';
        break;
    default:
        die('只允许上传doc,docx,xls,pdf,ppt文件 <a href="a.php">重新上传</a>');
}
?>

上面实例就限制了只能上传doc,docx,xls,pdf,ppt了,这样如果有人想利用后缀名上传其它如php或asp文件就存在会提示上传文件不合法。

本文地址:http://www.phprm.com/code/55202.html

转载随意,但请附上文章地址:-)

标签:none

发表留言