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


Posted in PHP onSeptember 30, 2017

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 相关文章推荐
文件上传的实现
Oct 09 PHP
也谈截取首页新闻 - 范例
Oct 09 PHP
url decode problem 解决方法
Dec 26 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
基于PHP常用字符串的总结(待续)
Jun 07 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
PHP图片加水印实现方法
May 06 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
Dec 02 PHP
PHP实现文字写入图片功能
Feb 18 PHP
详解使用php-cs-fixer格式化代码
Sep 16 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 #PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 #PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 #PHP
php使用curl下载指定大小的文件实例代码
Sep 30 #PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 #PHP
PHP 获取 ping 时间的实现方法
Sep 29 #PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 #PHP
You might like
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
微信红包随机生成算法php版
2016/07/21 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
Python设计实现的计算器功能完整实例
2017/08/18 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
社会实践感言
2014/01/25 职场文书
临床护理求职信
2014/04/26 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
教师考核表个人总结
2015/02/12 职场文书
结婚幸福感言
2015/08/01 职场文书
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android