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 相关文章推荐
php下实现伪 url 的超简单方法[转]
Sep 24 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
php表单提交与$_POST实例分析
Jan 26 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
php连接oracle数据库的方法(测试成功)
May 26 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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下批量挂马和批量清马代码
2011/02/27 PHP
PHP模块 Memcached功能多于Memcache
2011/06/14 PHP
php批量上传的实现代码
2013/06/09 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
js计算精度问题小结
2013/04/22 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
JS面向对象编程详解
2016/03/06 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
js实现无缝轮播图
2020/03/09 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
详解Python中的__init__和__new__
2014/03/12 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
C语言基础笔试题
2013/04/27 面试题
五一口号
2014/06/19 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
奔腾年代观后感
2015/06/09 职场文书
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技