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 相关文章推荐
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
php include和require的区别深入解析
Jun 17 PHP
php实现文件编码批量转换
Mar 10 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 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 批量删除 sql语句
2009/06/05 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
JS自动适应的图片弹窗实例
2013/06/29 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python批量修改文件后缀示例代码分享
2013/12/24 Python
python实现单向链表详解
2018/02/08 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
工程业务员岗位职责
2013/12/31 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
决心书范文
2014/03/11 职场文书
品德评语大全
2014/05/05 职场文书
学校安全防火方案
2014/06/07 职场文书
生活部的活动方案
2014/08/19 职场文书
个人总结与自我评价
2015/02/14 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js