php通过文件头判断格式的方法


Posted in PHP onMay 28, 2016

本文实例讲述了php通过文件头判断格式的方法。分享给大家供大家参考,具体如下:

function judgeFile($file,$form){
if(!empty($file) && !empty($form)){
$filehead = fopen($file,'r');
$bin = fread($filehead, 2);
fclose($filehead);
$data = unpack('C2chars', $bin);
$type_code = intval($data['chars1'].$data['chars2']);
switch ($type_code) {
case 7790: $fileType = 'exe';break;
  case 7784: $fileType = 'midi';break;
  case 8075: $fileType = 'zip';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';break;
}
if(!is_array($form)){
if($fileType==$form){
return true;
}else{
return false;
}
}else{
if(in_array($file, $form)){
return true;
}else{
return FALSE;
}
}
}else{
return false;
}
}
PHP 相关文章推荐
如何限制访问者的ip(PHPBB的代码)
Oct 09 PHP
PHP中实现进程间通讯
Oct 09 PHP
php下连接mssql2005的代码
Jan 17 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
php+ajax实现无刷新分页
Nov 18 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
php 浮点数比较方法详解
May 05 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 #PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 #PHP
php使用pdo连接sqlite3的配置示例
May 27 #PHP
php使用number_format函数截取小数的方法分析
May 27 #PHP
php中关于长度计算容易混淆的问题分析
May 27 #PHP
Centos6.5和Centos7 php环境搭建方法
May 27 #PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 #PHP
You might like
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
PHP类中Static方法效率测试代码
2010/10/17 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
python对url格式解析的方法
2015/05/13 Python
详解python时间模块中的datetime模块
2016/01/13 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
Python实现购物车程序
2018/04/16 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
《孙权劝学》教学反思
2014/04/23 职场文书
80后婚前协议书范本
2014/10/24 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
Python基本知识点总结
2022/04/07 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers