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 11 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
php绘制一条直线的方法
Jan 24 PHP
详解php魔术方法(Magic methods)的使用方法
Feb 14 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
php获取当前url地址的方法小结
Jan 10 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 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留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP制作万年历
2015/01/07 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
研究生自荐信
2013/10/09 职场文书
医院护士专业个人的求职信
2013/12/09 职场文书
军训自我鉴定怎么写
2014/02/13 职场文书
检举信的格式及范文
2014/04/04 职场文书
节水口号标语
2014/06/19 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python