您的位置:首页 > 编程语言 > PHP开发

关于thinkphp生成的验证码不显示问题解决

2017-07-04 18:59 309 查看
自己遇到的,之前还正常显示,后面突然不显示,只有一个小 “X”图标
后面查询到方法解决如下,图片输出前不能有任何输出
不显示验证码代码:
public function verify(){
$verify = new \Think\Verify();
$verify->entry();
}

加入 ob_clean()public function verify(){
ob_clean();
$verify = new \Think\Verify();
$verify->entry();
}

再刷新一次页面,就可以显示了。
资料说明如下:
默认配置下,php输出是先到输出缓冲区(output_buffering),只要数据还没有真正发送到浏览器(严格来说是tcp buffer),
那么还是有机会清空先前的缓冲区里面的数据,使用内置的ob_clean函数即可。注意:ob_clean 只是清空当前缓冲区的数据,
如果先前输出的数据大于缓冲区,那么一部分数据已经发送,发送的这部分数据是无法清空的。另外如果禁用php输出缓冲区,
那么ob_clean起不到任何效果的。


其他解决方案:是代码页面有 BOM,需要处理,具体方案地址 http://www.cnblogs.com/wangyuman26/p/5960310.html 或者:
直接使用本博客的去BOM简单方法 http://blog.csdn.net/hello_sgw/article/details/77119443
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: