当前位置:首页 > PHP教程 > php上传下载 > 列表

php判断文件上传图片格式的实例详解

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-11 13:34:12 浏览: 评论:0 

这篇文章主要介绍了php判断文件上传图片格式的实例详解的相关资料,希望通过本文能帮助大家实现这样方法,非常有参考价值,需要的朋友可以参考下

php判断文件上传图片格式的实例详解

判断文件图片类型,

  1. $type  = $_FILES['image']['tmp_name'];//文件名 
  2. //$type  = $this->getImagetype( $type );  
  3. $filetype = ['jpg''jpeg''gif''bmp''png']; 
  4. if (! in_array($type$filetype)) 
  5. {  
  6.  return "不是图片类型"
  7. } 

如上如果用户修改文件后缀为png jpeg等无法满足,查了查资料解决方法是采用判断文件的二进制流信息,如果你刚好遇到这种问题不妨尝试一下:

  1. //*判断图片上传格式是否为图片 return返回文件后缀 
  2. public function getImagetype($filename
  3.  $file = fopen($filename'rb'); 
  4.  $bin = fread($file, 2); //只读2字节 
  5.  fclose($file); 
  6.  $strInfo = @unpack('C2chars'$bin); 
  7.  $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); 
  8.  // dd($typeCode); 
  9.  $fileType = ''
  10.  switch ($typeCode) { 
  11.   case 255216: 
  12.    $fileType = 'jpg'
  13.    break
  14.   case 7173: 
  15.    $fileType = 'gif'
  16.    break
  17.   case 6677: 
  18.    $fileType = 'bmp'
  19.    break
  20.   case 13780: 
  21.    $fileType = 'png'
  22.    break
  23.   default
  24.    $fileType = '只能上传图片类型格式'
  25.  } 
  26.  // if ($strInfo['chars1']=='-1' AND $strInfo['chars2']=='-40' ) return 'jpg'; 
  27.  // if ($strInfo['chars1']=='-119' AND $strInfo['chars2']=='80' ) return 'png'; 
  28.  return $fileType
  29. }

Tags: php文件上传图片

分享到: