域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過
phpcms V9 是目前國(guó)內(nèi)使用人數(shù)最多的一款開源免費(fèi)的CMS系統(tǒng),正是由于他的免費(fèi)性,開源性,以及其自身的功能性比較強(qiáng)大,所以倍受許多站長(zhǎng)朋友們的親來,以及許多的公司的喜歡。phpcms也為了完善程序漏洞,官方人員會(huì)經(jīng)常性的發(fā)布一些程序補(bǔ)丁,讓用戶使用。防止一些特殊群體,通過程序的漏洞去攻擊別人的網(wǎng)站。不過這次更新了phpcms v9之后,發(fā)現(xiàn)網(wǎng)站后臺(tái)上傳縮略圖的時(shí)候,會(huì)出現(xiàn)無法上傳的現(xiàn)象,瀏覽器提示undefined錯(cuò)誤,經(jīng)過一方面的測(cè)試,發(fā)現(xiàn)這個(gè)錯(cuò)誤,只有一些火狐核心的瀏覽器才會(huì)出現(xiàn),IE,360這種的IE核心瀏覽器上傳一切正常。這是什么原因造成的呢,我們通過程序去排查一下為何后臺(tái)無法上傳縮略圖,并出現(xiàn)undefined的錯(cuò)誤。
一、phpcms V9 后臺(tái)無法上傳縮略圖的處理方法
首先打開網(wǎng)站程序路徑中的,phpcms---modules----attachment----attachments.php文件,找到attachments.php文件中的50行---53行代碼,這里有一段判斷是否登錄的程序,我們把這段話刪掉就可以了。如圖所示
通過刪除非常簡(jiǎn)單的一段話,就能解決類似火狐核心的瀏覽器,后臺(tái)無法上傳縮略圖的錯(cuò)誤。接下來我們?cè)敿?xì)分析為什么這句話,就會(huì)導(dǎo)致后臺(tái)無法上傳縮略圖呢,以后如果大家遇到程序上面的錯(cuò)誤,也可以通過下面的方法去分析,一定要學(xué)會(huì)靈活使用,程序都是死的,而我們程序員的思維是靈活的。
注:如果您對(duì)為何會(huì)出現(xiàn)無法上傳縮略圖錯(cuò)誤不感興趣,以下內(nèi)容均可略過不看!
二、phpcms V9 后臺(tái)無法上傳縮略圖的原因分析
既然知道是這句話的原因了,那么我們就看看為何是這句話導(dǎo)致了無法上傳縮略圖。
if(isset($_POST['dosubmit'])){ //判斷是否點(diǎn)擊了提交按鈕
//判斷是否登錄
if(empty($this->userid)){ //如果useid為空,則直接退出。($this指類本身,是由attachments類在構(gòu)造函數(shù)制定的。)
exit('0');
}
既然是判斷了userid為空就退出,那我們無法上傳縮略圖,肯定是被判斷為空了。我們把$this->userid輸出一下看看。
從圖中可以看出,這里輸出的是1,也就是說$this->userid是為1的,1肯定不是空值了。那怎么會(huì)出現(xiàn)退出現(xiàn)象了呢。我們?cè)贀Q一個(gè)方法測(cè)試,看看
if(empty($this->userid)){
exit('0');
}
這句話是否執(zhí)行了。
//判斷是否登錄
if(empty($this->userid)){
echo '';
exit('0');
} else{
echo '';
}
如圖所示:
我們看到,程序確實(shí)執(zhí)行了,跳出的動(dòng)作??磥砘鸷诵牡臑g覽器還是把“1”當(dāng)成了empty來處理,所以導(dǎo)致了,phpcms V9在使用火狐核心的瀏覽器時(shí),后臺(tái)無法上傳縮略圖的現(xiàn)象。\
濟(jì)南網(wǎng)站建設(shè)www.0531soso.com
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!