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维护文件系统
Oct 09 PHP
PHP strtotime函数详解
Dec 18 PHP
php cookies中删除的一般赋值方法
May 07 PHP
显示程序执行时间php函数代码
Aug 29 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
ThinkPHP5 的简单搭建和使用详解
Nov 15 PHP
PHP与Web页面的交互示例详解二
Aug 04 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加密扩展库Mcrypt安装和实例
2013/11/10 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
PHP实现的购物车类实例
2015/06/17 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
PHP实现批量修改文件名的方法示例
2019/09/18 PHP
javascript 短路法代码精简
2009/08/20 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
从零学Python之入门(五)缩进和选择
2014/05/27 Python
python中函数默认值使用注意点详解
2016/06/01 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python实现的根据IP地址计算子网掩码位数功能示例
2018/05/23 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python实现tail -f 功能
2020/01/17 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
自动化专业个人求职信范文
2013/12/30 职场文书
汽车广告策划方案
2014/05/31 职场文书
企业领导对照检查材料
2014/08/20 职场文书
2014应届本科生自我评价
2014/09/13 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
师范生见习总结范文
2015/06/23 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书