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 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
php添加文章时生成静态HTML文章的实现代码
Feb 17 PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 PHP
教你如何用php实现LOL数据远程获取
Jun 10 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 PHP
标准PHP的AES加密算法类
Mar 12 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
php操作access数据库的方法详解
Feb 22 PHP
PHP实现的mysql读写分离操作示例
May 22 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 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
用PHP产生动态的影像图
2006/10/09 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
php接口隔离原则实例分析
2019/11/11 PHP
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
jQuery返回定位插件详解
2017/05/15 jQuery
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
详解基于webpack&gettext的前端多语言方案
2019/01/29 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
用Python实现一个简单的线程池
2015/04/07 Python
python实现从ftp服务器下载文件的方法
2015/04/30 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
Python 硬币兑换问题
2019/07/29 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
介绍一下常见的木马种类
2014/11/15 面试题
葡萄牙语专业个人求职信
2013/12/10 职场文书
门诊手术室工作制度
2014/01/30 职场文书
高中军训第一天感言
2014/03/06 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
大学生个人学习总结
2015/02/15 职场文书
中标通知书范本
2015/04/17 职场文书
Navicat连接MySQL错误描述分析
2021/06/02 MySQL