一段(根据文件头)检测文件类型的php代码

发布时间:2019-12-19编辑:脚本学堂
为大家提供一段根据文件头检测文件类型的代码,支持检测rar、exe等文件类型,有需要的朋友,可以参考下。

根据文件头检测文件类型的完整代码如下。
 

复制代码 代码示例:

<?php
//检测文件类型
$filename = "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下判断文件类型的函数 mime_content_type
//这个函数也不错
echo mime_content_type('test1.gif') . "n";
echo mime_content_type('test2.php');
?>