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开发中常用的8个小技巧
Aug 27 PHP
很好用的PHP数据库类
May 27 PHP
php常用ODBC函数集(详细)
Jun 24 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
ThinkPHP添加更新标签的方法
Dec 05 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
PHP微信H5支付开发实例
Jul 25 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
PHP code 验证码生成类定义和简单使用示例
May 27 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
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
javascript是怎么继承的介绍
2012/01/05 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
js正则相关知识点专题
2018/05/10 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
寻找网站后台地址的python脚本
2014/09/01 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python实现处理mysql结果输出方式
2020/04/09 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
工作中的自我评价如何写好
2013/10/28 职场文书
高中毕业的自我鉴定
2013/12/09 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
工作检讨书500字
2014/10/19 职场文书
民事和解协议书格式
2014/11/29 职场文书
团代会邀请函
2015/02/02 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
大客户经理岗位职责
2015/04/09 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL