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

 更新时间:2017年09月30日 17:23:24   投稿:lqh  
这篇文章主要介绍了php判断文件上传图片格式的实例详解的相关资料,希望通过本文能帮助大家实现这样方法,非常有参考价值,需要的朋友可以参考下

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

判断文件图片类型,

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

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

 //*判断图片上传格式是否为图片 return返回文件后缀
 public function getImagetype($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) {
   case 255216:
    $fileType = 'jpg';
    break;
   case 7173:
    $fileType = 'gif';
    break;
   case 6677:
    $fileType = 'bmp';
    break;
   case 13780:
    $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;
 }

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • php通过baihui网API实现读取word文档并展示

    php通过baihui网API实现读取word文档并展示

    这篇文章主要介绍了php通过baihui网API实现读取word文档并展示的相关资料,需要的朋友可以参考下
    2015-06-06
  • PHP中的正则表达式函数介绍

    PHP中的正则表达式函数介绍

    PHP中的正则表达式函数介绍,需要的朋友可以参考下
    2012-02-02
  • PHP parse_ini_file函数的应用与扩展操作示例

    PHP parse_ini_file函数的应用与扩展操作示例

    这篇文章主要介绍了PHP parse_ini_file函数的应用与扩展操作,结合实例形式分析了php扩展parse_ini_file函数解析配置文件相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • PHP自动生成表单代码分享

    PHP自动生成表单代码分享

    在PHP开发过程中,我们有时候会遇到表单不固定的情况,需要在程序运行过程中动态生成,这里分享一个PHP自动创建表单的类给大家
    2015-06-06
  • thinkphp Tp6经常报错 Call to undefined method错误的解决方法

    thinkphp Tp6经常报错 Call to undefined 

    在使用Tp6框架时经常遇到"Call to undefined method"的错误,这里就为大家分享一下具体的使用方法,需要的朋友可以参考下
    2023-08-08
  • PHP在终端中实现进度条来处理数据的示例详解

    PHP在终端中实现进度条来处理数据的示例详解

    在PHP中,有时候你需要在终端中处理大量数据或执行长时间运行的任务,同时希望能够实时跟踪任务的进度,在 PHP 中,有时候你需要在终端中处理大量数据或执行长时间运行的任务,同时希望能够实时跟踪任务的进度,需要的朋友可以参考下
    2023-10-10
  • php include的妙用,实现路径加密

    php include的妙用,实现路径加密

    用这种方法比较繁琐,只能隐藏后台脚本的路径,前端的脚本路径仍然可以在源文件中看得到(baseref) 在地址栏上看到的地址都是index.php?xxxxxxxx
    2008-07-07
  • PHP+MySQL实现无极限分类栏目的方法

    PHP+MySQL实现无极限分类栏目的方法

    这篇文章主要介绍了PHP+MySQL实现无极限分类栏目的方法,涉及php操作数据库查询及结果集递归遍历的技巧,需要的朋友可以参考下
    2015-12-12
  • 详解php如何解密json字符串

    详解php如何解密json字符串

    解密JSON字符串在PHP中并不常见,因为JSON通常用于数据交换,并不需要加密,本文将给大家详细介绍了php如何解密json字符串,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-02-02
  • phar绕过phar与HALT实现文件上传功能

    phar绕过phar与HALT实现文件上传功能

    这篇文章主要介绍了phar绕过phar与HALT实现文件上传功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12

最新评论