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中在数据库中保存Checkbox数据(1)
Oct 09 PHP
汉字转化为拼音(php版)
Oct 09 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
header导出Excel应用示例
Jan 24 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
Laravel 类和接口注入相关的代码
Oct 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
将php数组输出html表格的方法
2014/02/24 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
js中this用法实例详解
2015/05/05 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
python定向爬取淘宝商品价格
2018/02/27 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
django中使用POST方法获取POST数据
2019/08/20 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
泰国网上购物:Shopee泰国
2018/09/14 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
公益活动邀请函
2014/02/05 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
欢迎领导标语
2014/06/27 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL