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自动更新新闻DIY
Oct 09 PHP
让你同时上传 1000 个文件 (一)
Oct 09 PHP
珊瑚虫IP库浅析
Feb 15 PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
Thinkphp调用Image类生成缩略图的方法
Mar 07 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
php 无限级分类 获取顶级分类ID
Mar 13 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
PDO实现学生管理系统
Mar 21 PHP
php字符串函数 str类常见用法示例
May 15 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
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
javascript 对象比较实现代码
2009/04/27 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
职业教育毕业生求职信
2013/11/09 职场文书
医药工作岗位求职信分享
2013/12/31 职场文书
小学体育教学反思
2014/01/31 职场文书
食品安全检查制度
2014/02/03 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
婚前保证书
2014/04/29 职场文书
酒店员工培训方案
2014/06/02 职场文书
2014年部门工作总结
2014/11/12 职场文书
保安2014年终工作总结
2014/12/06 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
二十年同学聚会感言
2015/07/30 职场文书
Python os和os.path模块详情
2022/04/02 Python