有两种方式可以给你解决,也可以几种方式同时使用
使用原本自带的函数getimagesize来判断是否是图片
使用获取上传文件头的方式来判断
$filename='xxxx.gif'$file=fopen($filename,'rb')
$bin=fread($file,2) //只读取上传文件的头文信息的2个字节
fclose($file)
$strInfo=@unpack('c2chars',$bin)
$typeCode=intval($strInfo['chars1'].$strInfo['chars2'])
$fileType=''
switch ($typeCode){
case 7790:
$fileType='exe'
break
case 7784:
$fileType='midi'
break
case 8297:
$fileType='rar'
break
case 255216:
$fileType='jpg'
break
case 7173:
$fileType='gif'
break
case 6677:
$fileType='bmp'
break
case 13780:
$fileType='png'
break
default:
echo 'unknown'
break
}
echo '文件类型:'.$fileType.' 文件头信息:'.$typeCode
希望对你有用!
如果你是用type=file方式上传文件,那么文件信息存储在$_FILES这个多维数组里,假如name=file,那么$_FILES['file']['type']存储的就是上传文件的mime类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)