限制上传文件类型程序代码

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

澳门新葡亰手机版,利用js

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

例1

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

 代码如下

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

<script>
function check(){
var filepath=path.value
filepath=filepath.substring(filepath.lastIndexOf(‘.’)+1,filepath.length)
if(filepath != ‘jpg’ && filepath != ‘gif’)
alert(“只能上传JPG或GIF格式的图片”)
}
</script>

ie 火狐

<input type=file name=path onpropertychange=”check()”>
(只能上传JPG或GIF格式的图片)

id

例2

后缀名

 代码如下

php识别出的文件类型

<script>
function ck(obj){if(obj.value.length>0){
var af=”jpg,gif,png,zip,rar,txt,htm”;
if(eval(“with(obj.value)if(!/”+af.split(“,”).join(“|”)+”/ig.test(substring(lastIndexOf(‘.’)

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

+1,length)))1;”)){alert(“Allowed file
types:n”+af);obj.createTextRange().execCommand(‘delete’)};
}}
</script>
<form>
<input type=file name=path
onpropertychange=”ck(this)”/></form>

id

例3