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 相关文章推荐
PHP中的正规表达式(一)
Oct 09 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 PHP
destoon各类调用汇总
Jun 20 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
php获取一定范围内取N个不重复的随机数
May 28 PHP
yii插入数据库防并发的简单代码
May 27 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 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(1)
2006/10/09 PHP
怎么使 Mysql 数据同步
2006/10/09 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
深入理解node.js http模块
2018/01/24 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
Python常用正则表达式符号浅析
2014/08/13 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
旅行社各个岗位职责
2014/03/15 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
年检委托书
2014/08/30 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
Java使用jmeter进行压力测试
2021/07/09 Java/Android
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android