>php教程 >php手册 >完美解决thinkphp验证码出错无法显示的方法

完美解决thinkphp验证码出错无法显示的方法

WBOY
WBOY원래의
2016-06-06 20:16:02798검색

这篇文章主要介绍了完美解决thinkphp验证码出错无法显示的方法,对比官网给出的方法结合自身的实践,给出了一个相对可行的解决方法,具有一定的参考借鉴价值,需要的

本文实例讲述了完美解决thinkphp验证码出错无法显示的方法。分享给大家供大家参考。具体分析如下:

今天做到验证码这一块,想到tp自带验证图片,大喜,但鼓捣半天不出来,一直是个小 X的样子.

官方提示如下:
如果无法显示验证码,请检查:
① PHP是否已经安装GD库支持;
② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出);
③ Image类库是否正确导入;
④ 如果是中文验证码检查是否有拷贝字体文件到类库所在目录;

但是测试半天,不行!网上找来一个能用的方法,放到一个文件里执行可用,进入到tp里面通过index.php入口进去就是小 x,然后能用的方法所在文件把编码改为utf-8 含有bom的编码也会出现小 X,其他编码都会出来验证码,初步判断是tp执行到输出验证码的前面有内容输出,主管想到了清除之前的输出就行.

类似:

复制代码 代码如下:

ob_start();//不加这个是不行的(貌似不加可以) 
echo "不要显示"; 
ob_end_clean(); 
echo "只要显示这"; 
?>


解决方法,修改生成验证码方法:

复制代码 代码如下:

//生成验证码 
public function verifyimg(){ 
import("ORG.Util.Image"); 
ob_end_clean(); 
Image::buildImageVerify(); 
}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.