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和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
php自定义apk安装包实例
Oct 20 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
PHP与服务器文件系统的简单交互
Oct 21 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
PHP 断点续传实例详解
Nov 11 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
PHP经典设计模式之依赖注入定义与用法详解
May 21 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 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
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
通过javascript把图片转化为字符画
2013/10/24 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
python中map、any、all函数用法分析
2015/04/21 Python
Python的装饰器用法学习笔记
2016/06/24 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
运动会通讯稿50字
2014/01/30 职场文书
财务出纳岗位职责
2014/02/03 职场文书
有关爱国演讲稿
2014/05/07 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python