php代码实现读取文件头判断文件类型,支持图片、rar、exe等后缀。
案例:
<?php $filename = "11.jpg<em style="color:transparent">本文来源gao.dai.ma.com搞@代*码#网</em><a>搞代gaodaima码</a>";<BR>//为图片的路径可以用d:/upload/11.jpg等绝对路径<BR>$file = fopen($filename, "rb");<BR>$bin = fread($file, 2); //只读2字节<BR>fclose($file);<BR>$strInfo = @unpack("C2chars", $bin);<BR>$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);<BR>$fileType = '';<BR>switch ($typeCode) {<BR>case 7790: $fileType = 'exe'; break;<BR>case 7784: $fileType = 'midi'; break;<BR>case 8297: $fileType = 'rar'; break;<BR>case 255216: $fileType = 'jpg'; break;<BR>case 7173: $fileType = 'gif'; break;<BR>case 6677: $fileType = 'bmp'; break;<BR>case 13780: $fileType = 'png'; break;<BR>default: echo'unknown';<BR>}<BR>echo'这是一个'.$fileType.' file:'.$typeCode;<BR>
案例:
?><BR>//linux下php还有个函数可以判断文件类型<BR><?php<BR>echo mime_content_type('11.gif') . "\n";<BR>echo mime_content_type('22.php');<BR>?><BR>