php判断文件上传图片格式的实例详解
php判断文件上传图片格式的实例详解
判断文件图片类型,
$type=$_FILES['image']['tmp_name'];//文件名 //$type=$this->getImagetype($type); $filetype=['jpg','jpeg','gif','bmp','png']; if(!in_array($type,$filetype)) { return"不是图片类型"; }
如上如果用户修改文件后缀为pngjpeg等无法满足,查了查资料解决方法是采用判断文件的二进制流信息,如果你刚好遇到这种问题不妨尝试一下:
//*判断图片上传格式是否为图片return返回文件后缀 publicfunctiongetImagetype($filename) { $file=fopen($filename,'rb'); $bin=fread($file,2);//只读2字节 fclose($file); $strInfo=@unpack('C2chars',$bin); $typeCode=intval($strInfo['chars1'].$strInfo['chars2']); //dd($typeCode); $fileType=''; switch($typeCode){ case255216: $fileType='jpg'; break; case7173: $fileType='gif'; break; case6677: $fileType='bmp'; break; case13780: $fileType='png'; break; default: $fileType='只能上传图片类型格式'; } //if($strInfo['chars1']=='-1'AND$strInfo['chars2']=='-40')return'jpg'; //if($strInfo['chars1']=='-119'AND$strInfo['chars2']=='80')return'png'; return$fileType; }
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!