摘自原来的一个项目,特意提取出来,可能会有需要的人

 

/**
 * 根据图片文件内容获取扩展名
 * @param $file 要处理的文件
 * @param $isstr 是否传的字符串:true=直接文件内容,false=文件地址
 * @return unknown_type
 */
function get_img_ext($file = '', $isstr = true){
	if(!$isstr){
		//仅获取2字节
		$file	=	file_get_contents($file, false, NULL, 0, 2);
	}
	//取文件前两个字节(二进制)
	$bin	=	$file[0].$file[1];
	//把2进制数转换为两个字符
	$info	=	@unpack("C2chars", $bin);
	//转换两个字节的字符为数字
	$type	=	intval($info['chars1'].$info['chars2']);
	$ext	=	'unknown';
	//文件类型判断
	switch($type){
		case 7790:
			$ext	=	'exe';
			break;
		case 7784:
			$ext	=	'midi';
			break;
		case 8297:
			$ext	=	'rar';
			break;
		case 255216:
			$ext	=	'jpg';
			break;
		case 7173:
			$ext	=	'gif';
			break;
		case 6677:
			$ext	=	'bmp';
			break;
		case 13780:
			$ext	=	'png';
			break;
	}
	return $ext;
}

 

posted on 2010-11-09 19:05  重生  阅读(325)  评论(0编辑  收藏  举报