php 读取文件头判断文件类型的实现代码


Posted in PHP onAugust 05, 2013

php代码实现读取文件头判断文件类型,支持图片、rar、exe等后缀。
案例:

<?php $filename = "11.jpg";
//为图片的路径可以用d:/upload/11.jpg等绝对路径
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只读2字节
fclose($file);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch ($typeCode) {
case 7790: $fileType = 'exe'; break;
case 7784: $fileType = 'midi'; 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: echo'unknown';
}
echo'这是一个'.$fileType.' file:'.$typeCode;

案例:
?>
//linux下php还有个函数可以判断文件类型
<?php
echo mime_content_type('11.gif') . "\n";
echo mime_content_type('22.php');
?>
PHP 相关文章推荐
最简单的PHP程序--记数器
Oct 09 PHP
php 中include()与require()的对比
Oct 09 PHP
PHP 超链接 抓取实现代码
Jun 29 PHP
phpnow php探针环境检测代码
Nov 04 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
May 05 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
Yii框架分页技术实例分析
Aug 30 PHP
PHP的cookie与session原理及用法详解
Sep 27 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
Oct 18 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 #PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 #PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 #PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 #PHP
php多层数组与对象的转换实例代码
Aug 05 #PHP
注意:php5.4删除了session_unregister函数
Aug 05 #PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 #PHP
You might like
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
php cookis创建实现代码
2009/03/16 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
暑假家长评语大全
2014/04/17 职场文书
大学班级文化建设方案
2014/05/06 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
先进个人总结范文
2015/02/15 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle