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

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

WBOY
WBOYOriginal
2016-06-06 20:16:02782Durchsuche

这篇文章主要介绍了完美解决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程序设计有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn