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 socket并借助telnet实现简单的聊天程序
Jun 18 PHP
php中time()和mktime()方法的区别
Sep 28 PHP
PHP goto语句简介和使用实例
Mar 11 PHP
php写的AES加密解密类分享
Jun 20 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
PHP文件缓存类示例分享
Jan 30 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
CodeIgniter自定义控制器MY_Controller用法分析
Jan 20 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 PHP
CI框架的安全性分析
May 18 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
使用vs code编辑调试php配置的方法
Jan 29 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面向对象程序设计之接口用法
2014/08/20 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
jquery 问答知识整理
2010/02/11 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
python代码过长的换行方法
2018/07/19 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
Python Lambda函数使用总结详解
2019/12/11 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
敬老院活动总结
2014/04/28 职场文书
离婚协议书格式
2014/11/21 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
Python何绘制带有背景色块的折线图
2022/04/23 Python