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 相关文章推荐
Windows下的PHP5.0详解
Nov 18 PHP
php实现jQuery扩展函数
Oct 30 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
Jul 25 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
php之可变变量的实例详解
Sep 12 PHP
laravel执行php artisan migrate报错的解决方法
Oct 09 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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
如何选购合适的收音机
2021/03/01 无线电
图书管理程序(三)
2006/10/09 PHP
模仿OSO的论坛(一)
2006/10/09 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
php计算年龄精准到年月日
2015/11/17 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
python中urllib模块用法实例详解
2014/11/19 Python
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python判断直线和矩形是否相交的方法
2015/07/14 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
美国性感内衣店:Yandy
2018/06/12 全球购物
金智子午JAVA面试题
2015/09/04 面试题
如何用SQL语句进行模糊查找
2015/09/25 面试题
实习心得体会
2014/01/02 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书