本文實例講述了完美解決thinkphp驗證碼出錯無法顯示的方法。分享給大家供大家參考。具體分析如下:
今天做到驗證碼這一塊,想到tp自帶驗證圖片,大喜,但鼓搗半天不出來,一直是個小 X的樣子.
官方提示如下:
如果無法顯示驗證碼,請檢查:
① PHP是否已經安裝GD庫支持;
② 輸出之前是否有任何的輸出(尤其是UTF8的BOM頭信息輸出);
③ Image類庫是否正確導入;
④ 如果是中文驗證碼檢查是否有拷貝字體文件到類庫所在目錄;
但是測試半天,不行!網上找來一個能用的方法,放到一個文件裡執行可用,進入到tp裡面通過index.php入口進去就是小 x,然後能用的方法所在文件把編碼改為utf-8 含有bom的編碼也會出現小 X,其他編碼都會出來驗證碼,初步判斷是tp執行到輸出驗證碼的前面有內容輸出,主管想到了清除之前的輸出就行.
類似:
復制代碼 代碼如下:<?php
ob_start();//不加這個是不行的(貌似不加可以)
echo "不要顯示";
ob_end_clean();
echo "只要顯示這";
?>
解決方法,修改生成驗證碼方法:
復制代碼 代碼如下://生成驗證碼
public function verifyimg(){
import("ORG.Util.Image");
ob_end_clean();
Image::buildImageVerify();
}
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。