php通過(guò)判斷上傳文件的頭字符來(lái)判斷文件的類(lèi)型,這可以稱得上是最安全,最真實(shí)確定上傳文件類(lèi)型的方法了,具體實(shí)現(xiàn)方法如下
分享給大家php判斷上傳文件類(lèi)型的方法,大家一起學(xué)習(xí)學(xué)習(xí)。
- /**
- * 讀取文件前幾個(gè)字節(jié) 判斷文件類(lèi)型
- * @return String
- */
- function checkTitle($filename){
- $file=fopen($filename, "rb");
- $bin=fread($file, 2); //只讀2字節(jié)
- 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;
- }
希望通過(guò)本文對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答