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

自己遇到的,之前还正常显示,后面突然不显示,只有一个小 “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

你可能感兴趣的:(php,其他)