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学习之 数组声明
Jun 09 PHP
php ios推送(代码)
Jul 01 PHP
Yii基于数组和对象的Model查询技巧实例详解
Dec 28 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
微信红包随机生成算法php版
Jul 21 PHP
PHP Callable强制指定回调类型的方法
Aug 30 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
php生出随机字符串
Jul 06 PHP
Laravel中的Auth模块详解
Aug 17 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 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
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
Vue中props的使用详解
2018/06/15 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
Python最长公共子串算法实例
2015/03/07 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
大学本科生的个人自我评价
2013/12/09 职场文书
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
激励口号大全
2014/06/17 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
2014年计生工作总结
2014/11/21 职场文书
企业百日安全活动总结
2015/05/07 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
Python中的程序流程控制语句
2022/02/24 Python
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers