欧美极品在线观看不卡|国产精品Va免费视频|国产国产人无码在线免费|亚洲精品无码九九九九九|亚洲国产综合精品久久久久|成人国产在线观看高清不卡|制服诱惑一区二区三区六区|国产一区二区精品高清在线观看

新聞中心

Thinkphp中文驗證碼不顯示解決方法

作者 / 無憂主機 時間 2013-10-22 22:12:24

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

本文地址:http://www.gle-technology.com/thinkphp/12904.html

1
1
1
1
1
1
1

客戶服務熱線

0791-8623-3537

在線客服