PHP二进制判断文件类型实例

2013 年 5 月 24 日3450

PHP二进制判断文件类型实例

Builder开发者在线 来源: 中国IT实验室 2013年04月02日

关键词: php

本文摘要

PHP二进制判断文件类型, 一般我们都是按照文件扩展名来判断文件类型,但是这个很不靠谱,轻易就通过修改扩展名来躲避了,一般必须要读取文件信息来识别。

Builder开发者在线 PHP二进制数据,一般我们都是按照文件扩展名来判断文件类型,但是这个很不靠谱,轻易就通过修改扩展名来躲避了,一般必须要读取文件信息来识别。

<?php

$files = array('./test.jpg', 'test.png');

$fileTypes = array(

7790 => 'exe',

7784 => 'midi',

8075 => 'zip',

8297 => 'rar',

225216 => 'jpg',

7173 => 'gif',

6677 => 'bmp',

13780 => 'png',

);

foreach($files as $file) {

$fp = fopen($file, 'rb');

$bin = fread($fp, 2); // 只读头两个字节

fclose($fp);

$strInfo = @unpack("C2chars", $bin);

$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);

$fileType = isset($fileTypes[$typeCode]) ? $fileTypes[$typeCode] : 'unknown';

echo $file , ' type : <b>', $fileType, '</b> code : <b>', $fileType, '</b><br />';

}

本文导航

转发

本文关键词: php

文章评论

登录 (没有帐户?快速注册)

使用第三方帐号登录:

0 0