PHP判斷上傳文件類(lèi)型的解決辦法
更新時(shí)間:2015年10月20日 14:08:02 投稿:lijiao
php通過(guò)判斷上傳文件的頭字符來(lái)判斷文件的類(lèi)型,這可以稱(chēng)得上是最安全,最真實(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ì)有所幫助。
您可能感興趣的文章:
- php 讀取文件頭判斷文件類(lèi)型的實(shí)現(xiàn)代碼
- PHP取二進(jìn)制文件頭快速判斷文件類(lèi)型的實(shí)現(xiàn)代碼
- PHP 基于文件頭的文件類(lèi)型驗(yàn)證類(lèi)函數(shù)
- php通過(guò)文件頭檢測(cè)文件類(lèi)型通用代碼類(lèi)(zip,rar等)
- php實(shí)現(xiàn)獲取文件mime類(lèi)型的方法
- PHP 文件類(lèi)型判斷代碼
- php文件類(lèi)型MIME對(duì)照表(比較全)
- php限制上傳文件類(lèi)型并保存上傳文件的方法
- php中header設(shè)置常見(jiàn)文件類(lèi)型的content-type
- PHP如何根據(jù)文件頭檢測(cè)文件類(lèi)型實(shí)例代碼
相關(guān)文章
PHP數(shù)組 為文章加關(guān)鍵字連接 文章內(nèi)容自動(dòng)加鏈接
PHP給文章加關(guān)鍵字連接,像163文章內(nèi)容自動(dòng)加鏈接效果,其實(shí)很多php網(wǎng)站管理系統(tǒng)里面都有,可以參考里面的代碼。2011-12-12
解決File size limit exceeded 錯(cuò)誤的方法
本篇文章是對(duì)File size limit exceeded 錯(cuò)誤進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

