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 相关文章推荐
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
PHP 翻页 实例代码
Aug 07 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
Mar 05 PHP
浅谈json_encode用法
Mar 05 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
php防止sql注入的方法详解
Feb 20 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 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
PR值查询 | PageRank 查询
2006/12/20 PHP
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
JS动画效果代码3
2008/04/03 Javascript
Jquery 设置标题的自动翻转
2009/10/03 Javascript
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
JavaScript获取网页中第一个图片id的方法
2015/04/03 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
跟老齐学Python之集合(set)
2014/09/24 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
浅谈django channels 路由误导
2020/05/28 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
创业大赛策划书
2014/03/01 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
五年级语文教学反思
2016/03/03 职场文书
优秀大学生申请书
2019/06/24 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL