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 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
php empty函数 使用说明
Aug 10 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
java解析json方法总结
May 16 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
JavaScript位移运算符(无符号) >>> 三个大于号 的使用方法详解
2016/03/31 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
Python查看多台服务器进程的脚本分享
2014/06/11 Python
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
python executemany的使用及注意事项
2017/03/13 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python 私有函数的实例详解
2017/09/11 Python
深入理解Python3 内置函数大全
2017/11/23 Python
python用for循环求和的方法总结
2019/07/08 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
简单而又朴实的个人求职信分享
2013/12/12 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
大学生实习证明
2015/06/16 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android