新聞中心
thinkcmf后臺(tái)驗(yàn)證碼有時(shí)不顯示的解決辦法
作者 / 無(wú)憂主機(jī) 時(shí)間 2017-07-21 19:56:05
thinkcmf因?yàn)橛泻芎玫目蓴U(kuò)展性,深受站長(zhǎng)朋友們喜愛(ài),無(wú)憂主機(jī)小編也是因?yàn)榭匆?jiàn)thinkcmf官網(wǎng)有很多簡(jiǎn)單易懂的教程而被深深吸引到了,更重要的thinkcmf是基于thinkphp開(kāi)發(fā)的,可以借助這個(gè)系統(tǒng)更加全面地去了解thinkphp。最近無(wú)憂主機(jī)小編一直在糾結(jié)thinkcmf網(wǎng)站后臺(tái)驗(yàn)證碼不顯示的問(wèn)題,關(guān)于這個(gè)問(wèn)題在網(wǎng)上的回答是眾說(shuō)紛紜。經(jīng)過(guò)一番苦苦摸索終于有了答案,為了讓thinkcmf源碼愛(ài)好者不再走我走過(guò)的彎路,無(wú)憂主機(jī)小編就把thinkcmf后臺(tái)驗(yàn)證碼有時(shí)不顯示的解決辦法分享給大家。 用ftp工具連接到虛擬主機(jī),在根目錄的 application/Api/Controller/ 路徑下找到 CheckcodeController.class.php文件,如圖1所示, 將這個(gè)文件下載到本地進(jìn)行修改。 用文本編輯器打開(kāi),在 public function index() ?這個(gè)方法中,找到
$Verify = new \Think\Verify($config);在這句代碼前面上 ob_clean(); ?如圖2所示。 改好后保存并上傳到空間的原路徑,再去訪問(wèn)發(fā)現(xiàn)驗(yàn)證碼始終都會(huì)顯示了。 這個(gè)函數(shù)到底是起到了什么作用呢,在php官網(wǎng)文檔的介紹的是,這個(gè)函數(shù)用于丟棄緩沖區(qū)的內(nèi)容,而且緩沖區(qū)中帶了PHP_OUTPUT_HANDLER_CLEANABLE標(biāo)志的ob_start()方法才能工作, ob_start()表示打開(kāi)輸出控制緩沖。在thinkcmf程序中,網(wǎng)站有許多生成的圖片類文件比如銷毀后的驗(yàn)證碼,想要正確訪問(wèn)新生成的驗(yàn)證碼,如果沒(méi)有及時(shí)清除緩沖區(qū),驗(yàn)證碼就可能無(wú)法顯示,這個(gè)函數(shù)就是用來(lái)清理緩沖區(qū)的。
本文地址:http://www.gle-technology.com/thinkphp/25138.html