php 读取文件头判断文件类型的实现代码

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;

?>

例2:

<?php

//linux下php还有个函数可以判断文件类型

echo mime_content_type('11.gif') . "\n";

echo mime_content_type('22.php');

?>

你可能感兴趣的:(读取文件)