PHP判断上传文件类型最安全,最真实的解决办法

PHP 投稿 10600 0 评论

PHP判断上传文件类型最安全,最真实的解决办法

这篇关于php判断上传文件类型最安全,最真实的解决办法是的文章,主要介绍PHP判断上传文件类型最安全,最真实的解决办法,觉得挺不错的,感兴趣的php开发者可以参考下,希望对大家在学习php的成长路上有所帮助!

php通过判断上传文件的头字符来判断文件的类型,这可以称得上是最安全,最真实确定上传文件类型的方法了,具体实现方法:


/**
* 读取文件前几个字节 判断文件类型
* @return string
*/
function checkFileType($filename){
	$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:
			$fileType='unknown'.$typeCode;
		break;
	}
	//Fix
	if($strInfo['chars1']=='-1' && $strInfo['chars2']=='-40'){
		return 'jpg';
	}
	if($strInfo['chars1']=='-119' && $strInfo['chars2']=='80'){
		return 'png';
	}
	return $fileType;
}

总结

以上就是关于php判断上传文件类型最安全,最真实的解决办法是全部内容,希望这篇PHP判断上传文件类型最安全,最真实的解决办法文章能够帮你解决如相关的PHP问题,更多请关注PHP栏目的其它相关文章!

编程笔记 » PHP判断上传文件类型最安全,最真实的解决办法

赞同 (63) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽