利用PHP取二进制文件头判断文件类型

<?php
$files = array(‘D:\no.jpg‘, ‘D:\no.png‘,‘D:\no2.JPEG‘,‘D:\no.BMP‘);

$fileTypes = array(
	7790 	=> ‘exe‘,
    7784	=> ‘midi‘,
 	8297 	=> ‘rar‘,
 	255216 	=> ‘jpg‘,
 	7173 	=> ‘gif‘,
 	6677 	=> ‘bmp‘,
 	13780	=> ‘png‘
);

foreach($files as $file) {
	$fp = fopen($file, ‘rb‘);
	$bin = fread($fp, 2); //利用PHP取二进制文件头判断文件类型,每个文件在产生的时候,他是什么类型的文件,都由这个二进制头部的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><br />‘;
}

 

利用PHP取二进制文件头判断文件类型,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。