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 新手入门教程
Aug 03 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
PHP实现的简单分页类及用法示例
May 06 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 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实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
php字符串分割函数用法实例
2015/03/17 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
jQuery实现高亮显示的方法
2015/03/10 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
Sanic框架请求与响应实例分析
2018/07/16 Python
解决Django连接db遇到的问题
2019/08/29 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
python scatter函数用法实例详解
2020/02/11 Python
Python3.8安装Pygame教程步骤详解
2020/08/14 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
医学类导师推荐信范文
2013/11/19 职场文书
新年主持词
2014/03/27 职场文书
数控机床专业自荐信
2014/05/19 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
火烧圆明园观后感
2015/06/03 职场文书
公司员工离职感言
2015/08/03 职场文书
旷工检讨书大全
2015/08/15 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Django中的JWT身份验证的实现
2021/05/07 Python