当前位置:首页 > 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. { 
  4.  $file = fopen($filename, 'rb'); 
  5.  $bin = fread($file, 2); //只读2字节 
  6.  fclose($file); 
  7.  $strInfo = @unpack('C2chars', $bin); 
  8.  $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); 
  9.  // dd($typeCode); 
  10.  $fileType = ''; 
  11.  switch ($typeCode) { 
  12.   case 255216: 
  13.    $fileType = 'jpg'; 
  14.    break; 
  15.   case 7173: 
  16.    $fileType = 'gif'; 
  17.    break; 
  18.   case 6677: 
  19.    $fileType = 'bmp'; 
  20.    break; 
  21.   case 13780: 
  22.    $fileType = 'png'; 
  23.    break; 
  24.   default: 
  25.    $fileType = '只能上传图片类型格式'; 
  26.  } 
  27.  // if ($strInfo['chars1']=='-1' AND $strInfo['chars2']=='-40' ) return 'jpg'; 
  28.  // if ($strInfo['chars1']=='-119' AND $strInfo['chars2']=='80' ) return 'png'; 
  29.  return $fileType; 
  30. }

Tags: php文件上传图片

分享到: