欧美日韩国产精选国产永久在线入口|久久精品无码av色色丁香婷婷五月|欧美伊人网91天天视频色板一区|啪啪激情五月天国产高清一卡二卡|激情五月天丁香高清有码无码中文|高清无码免费在线看免费黄片|蜜桃亚洲 无码二区三区黄色网|人人叉人人爽日美黄色视频

新聞中心

Thinkphp中文驗(yàn)證碼不顯示解決方法

作者 / 無憂主機(jī) 時(shí)間 2013-10-22 22:12:24

一個(gè)好的php開源程序,應(yīng)該經(jīng)得起成千上萬的使用測試。今天無憂主機(jī)小編在處理客戶問題的時(shí)候,遇到了一個(gè)關(guān)于thinkphp中文驗(yàn)證碼的問題。 我們都知道,php開源程序所設(shè)置的驗(yàn)證碼功能,目的是為了保護(hù)網(wǎng)站的一些信息。比如說,登陸管理后臺(tái)需要輸入驗(yàn)證碼,可以多一道安全屏障。而相對(duì)于英文驗(yàn)證碼,中文驗(yàn)證碼的安全系數(shù)又更上一層樓。但是今天客戶遇到的問題是,英文驗(yàn)證碼顯示并沒有問題,但是設(shè)置中文驗(yàn)證碼時(shí)缺無法顯示??蛻羰褂玫膖hinkphp版本是2.0,因?yàn)槌绦蛞恢笨梢允褂?,也就沒有更換程序重新建站。 無憂主機(jī)小編檢查了一下thinkphp字體文件等,并沒有發(fā)現(xiàn)問題。這時(shí)無憂主機(jī)小編想到,之前有處理過一個(gè)客戶的問題,其驗(yàn)證碼不顯示的原因是文件上傳時(shí)少上傳了一個(gè)類:string。這個(gè)類中的某個(gè)函數(shù),是被中文驗(yàn)證碼功能所調(diào)用的。而無憂主機(jī)小編詢問了下度娘,了解到中文驗(yàn)證碼調(diào)用方法是在thinkphp\Lib\ORG\Util\Image.class.php 文件中的GBVerify方法。 小編對(duì)代碼不是很明白,但是如果是調(diào)用某個(gè)類中的功能,一定要出現(xiàn)那個(gè)類的名稱。于是小編開始了漫漫實(shí)驗(yàn)路。經(jīng)過多次的實(shí)驗(yàn),在Image.class.php的GBVerify(thinkphp中文驗(yàn)證碼)方法中,第322行有這樣一段代碼: $codex= msubstr($code,$i,1); 而在之前小編了解到msubstr這個(gè)函數(shù)是調(diào)用string類中的。都沒有出現(xiàn)string,如何能調(diào)用到這個(gè)類?當(dāng)然是不可能的。 在請(qǐng)教了無憂主機(jī)的程序員之后,小編把以上那段代碼做了以下修改: $codex= String::msubstr($code,$i,1); 這樣修改的目的是讓msubstr這個(gè)函數(shù)調(diào)用到string類。 果然這樣做了修改之后,中文驗(yàn)證碼成功的顯示出來了。 無憂主機(jī)小編認(rèn)為,這樣的問題應(yīng)該是程序開發(fā)人員考慮不周,雖然版本比較老,新版本的thinkphp可能并沒有這個(gè)問題,但是程序開發(fā)過程中,小編認(rèn)為中文驗(yàn)證碼的問題還是應(yīng)該可以考慮到的。當(dāng)然,如果您的thinkphp遇到這樣的問題,可以嘗試用小編的這個(gè)方法進(jìn)行解決。

本文地址:http://www.love62.cn/thinkphp/12904.html

1
1
1
1
1
1
1

客戶服務(wù)熱線

0791-8623-3537

在線客服