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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
excellent!――ASCII Art(由目标图象生成ascii)
Feb 20 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
php中各种定义变量的方法小结
Oct 18 PHP
php中通用的excel导出方法实例
Dec 30 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 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简单静态页生成过程
2008/03/27 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
vuex实现购物车功能
2020/06/28 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
python实现反转部分单向链表
2018/09/27 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
机电一体化求职信
2014/03/10 职场文书
学生会主席竞聘书
2014/03/31 职场文书
运动会班级口号
2014/06/09 职场文书
民事授权委托书范文
2014/08/02 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
无罪辩护词范文
2015/05/21 职场文书
中秋节主题班会
2015/08/14 职场文书
党员公开承诺书2016
2016/03/24 职场文书