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 相关文章推荐
简单的过滤字符串中的HTML标记
Dec 25 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
PHP文件上传小程序 适合初学者学习!
May 23 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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 calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
js实现京东秒杀倒计时功能
2019/01/21 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
Python3读取zip文件信息的方法
2015/05/22 Python
Python lxml模块安装教程
2015/06/02 Python
python开发之文件操作用法实例
2015/11/13 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
python ETL工具 pyetl
2020/06/07 Python
Python自动登录QQ的实现示例
2020/08/28 Python
应届生护士求职信
2013/11/01 职场文书
求职信的正确写法
2014/07/10 职场文书
迎七一演讲稿
2014/09/12 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
MySQL窗口函数的具体使用
2021/11/17 MySQL