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 多维数组排序实现代码
Aug 05 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
Jul 15 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
深入php处理整数函数的详解
Jun 09 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
yii分页组件用法实例分析
Dec 28 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
PHP自定义序列化接口Serializable用法分析
Dec 29 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截取后台登陆密码的代码
2012/05/05 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
PHP解析RSS的方法
2015/03/05 PHP
php轻松实现文件上传功能
2016/03/03 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
jquery插件之easing 动态菜单
2010/08/21 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Python获取系统默认字符编码的方法
2015/06/04 Python
Django日志模块logging的配置详解
2017/02/14 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
详解python编译器和解释器的区别
2019/06/24 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
提高EJB性能都有哪些技巧
2012/03/25 面试题
如何写一个自定义标签
2012/12/28 面试题
个人授权委托书范本
2014/04/03 职场文书
大学生励志演讲稿
2014/04/25 职场文书
安全保证书
2015/01/16 职场文书
2015年度党员个人总结
2015/02/14 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
党员学习型组织心得体会
2019/06/21 职场文书