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');
?>