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 相关文章推荐
图书管理程序(一)
Oct 09 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
php 短链接算法收集与分析
Dec 30 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
php实现的用户查询类实例
Jun 18 PHP
PHP实现加强版加密解密类实例
Jul 29 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
PHP创建XML接口示例
Jul 04 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 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 pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
go语言计算两个时间的时间差方法
2015/03/13 Python
python生成式的send()方法(详解)
2017/05/08 Python
简单了解什么是神经网络
2017/12/23 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
django解决订单并发问题【推荐】
2019/07/31 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
高中生自我评价个人范文
2013/11/09 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
实习护士自荐信
2015/03/25 职场文书
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
搭建Yolov5服务器
2022/04/30 Servers