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+ACCESS 文章管理程序代码
Jun 21 PHP
php轻松实现中英文混排字符串截取
May 28 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
Yii开启片段缓存的方法
Mar 28 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
Laravel模型事件的实现原理详解
Mar 14 PHP
详解PHP PDO简单教程
May 28 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 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代码
2010/08/08 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
js left,right,mid函数
2008/06/10 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
详解用js代码触发dom事件的实现方案
2020/06/10 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
想学python 这5本书籍你必看!
2018/12/11 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python isinstance函数用法详解
2020/02/13 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
PHP如何自定义函数
2016/09/16 面试题
美术教师自我鉴定
2014/02/12 职场文书
网络技术专业求职信
2014/07/13 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
vue使用echarts实现折线图
2022/03/21 Vue.js
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技