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 相关文章推荐
PHP4在Windows2000下的安装
Oct 09 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
使用laravel的migrate创建数据表的方法
Sep 30 PHP
Linux系统下安装PHP7.3版本
Jun 26 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
一些星际专用术语解释
2020/03/04 星际争霸
快速配置PHPMyAdmin方法
2008/06/05 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
PHP自动重命名文件实现方法
2014/11/04 PHP
php cli配置文件问题分析
2015/10/15 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
php实现的生成排列算法示例
2019/07/25 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
javascript脚本调试方法小结
2008/11/24 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
javascript基础知识讲解
2017/01/11 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
Python中多线程的创建及基本调用方法
2016/07/08 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
学前班学生评语
2014/12/29 职场文书
如何做好员工培训计划?
2019/07/09 职场文书