PHP判断上传文件类型的解决办法


Posted in PHP onOctober 20, 2015

分享给大家php判断上传文件类型的方法,大家一起学习学习。

/** 
* 读取文件前几个字节 判断文件类型 
* @return String 
*/ 
function checkTitle($filename){ 
  $file=fopen($filename, "rb"); 
  $bin=fread($file, 2); //只读2字节 
  fclose($file); 
  $strInfo =@unpack("c2chars", $bin); 
  $typeCode=intval($strInfo['chars1'].$strInfo['chars2']); 
  $fileType=''; 
  switch($typeCode){ 
    case 7790: 
      $fileType='exe'; 
    break; 
    case 7784: 
      $fileType='midi'; 
    break; 
    case 8297: 
      $fileType='rar'; 
    break; 
    case 255216: 
      $fileType='jpg'; 
    break; 
    case 7173: 
      $fileType='gif'; 
    break; 
    case 6677: 
      $fileType='bmp'; 
    break; 
    case 13780: 
      $fileType='png'; 
    break; 
    default: 
      $fileType='unknown'.$typeCode; 
    break; 
  } 
  //Fix 
  if($strInfo['chars1']=='-1' && $strInfo['chars2']=='-40'){ 
    return 'jpg'; 
  } 
  if($strInfo['chars1']=='-119' && $strInfo['chars2']=='80'){ 
    return 'png'; 
  } 
  return $fileType; 
}

希望通过本文对大家学习php程序设计有所帮助。

PHP 相关文章推荐
PHP 配置open_basedir 让各虚拟站点独立运行
Nov 12 PHP
php cookie的操作实现代码(登录)
Dec 29 PHP
一个简单的网页密码登陆php代码
Jul 17 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 PHP
Thinkphp无限级分类代码
Nov 11 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
CI框架简单分页类用法示例
Jun 06 PHP
PHP7移除的扩展和SAPI
Mar 09 PHP
php上传大文件失败的原因及应对策略
Oct 20 #PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 #PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 #PHP
php生成动态验证码gif图片
Oct 19 #PHP
php批量删除超链接的实现方法
Oct 19 #PHP
php二维码生成
Oct 19 #PHP
部署PHP时的4个配置修改说明
Oct 19 #PHP
You might like
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
jquery 表格的增行删行实现思路
2013/03/21 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
JS回调函数深入理解
2019/10/16 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
Python实现求解括号匹配问题的方法
2018/04/17 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
Python引用计数操作示例
2018/08/23 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
简单了解python变量的作用域
2019/07/30 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
ipython jupyter notebook中显示图像和数学公式实例
2020/04/15 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
成品仓管员工作职责
2013/12/29 职场文书
团日活动策划书
2014/02/01 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
思品教学工作总结
2015/08/10 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python