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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
图书管理程序(一)
Oct 09 PHP
一个改进的UBB类
Oct 09 PHP
一步一步学习PHP(7) php 字符串相关应用
Mar 05 PHP
PHP多线程抓取网页实现代码
Jul 22 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
使用php实现截取指定长度
Aug 06 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 PHP
PHP设计模式之迭代器模式
Jun 17 PHP
php is_writable判断文件是否可写实例代码
Oct 13 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
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
js实现消息滚动效果
2017/01/18 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
Node.js 8 中的重要新特性
2017/06/28 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python单元测试简单示例
2018/07/03 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
python urllib和urllib3知识点总结
2021/02/08 Python
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
智乐游戏测试笔试题
2014/05/21 面试题
酒店服务员岗位职责
2015/02/09 职场文书
简历中自我评价范文
2015/03/11 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
python元组打包和解包过程详解
2021/08/02 Python
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL