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 相关文章推荐
使用Limit参数优化MySQL查询的方法
Nov 12 PHP
PHP 柱状图实现代码
Dec 04 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
PHP队列用法实例
Nov 05 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
php 如何获取文件的后缀名
Jun 05 PHP
详谈php静态方法及普通方法的区别
Oct 04 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自动更新新闻DIY
2006/10/09 PHP
php中chdir()函数用法实例
2014/11/13 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
jquery foreach使用示例
2013/09/12 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
javascript中关于&& 和 || 表达式的小技巧分享
2015/04/10 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
如何获得EntityManager
2014/02/09 面试题
公司离职证明范本
2014/01/13 职场文书
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
感恩节活动策划方案
2014/05/16 职场文书
廉洁校园实施方案
2014/05/25 职场文书
布达拉宫的导游词
2015/02/02 职场文书
鸦片战争观后感
2015/06/09 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
基于python实现银行管理系统
2021/04/20 Python