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 self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
常见的PHP五种设计模式小结
Mar 23 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
PHP验证信用卡卡号是否正确函数
May 27 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
PHP 无限级分类
May 04 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
关于ThinkPHP中的异常处理详解
May 11 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
浅谈PHP中的Trait使用方法
Mar 22 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
Zerg基本策略
2020/03/14 星际争霸
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
jQuery的.live()和.die() 使用介绍
2011/09/10 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
Python单体模式的几种常见实现方法详解
2017/07/28 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
在Python中COM口的调用方法
2019/07/03 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
python with (as)语句实例详解
2020/02/04 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
python with语句的原理与用法详解
2020/03/30 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
小班重阳节活动方案
2014/02/08 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
小学见习报告
2014/10/31 职场文书