• thinkphp中文验证码不能显示的问题


    使用tp框架里的验证码,数字验证码能很好的显示出来,下面是实现的函数

    1 function verify(){
    2         import("ORG.Util.Image");
    3  
    4       return Image::buildImageVerify();//数字验证码
    5       
    6        //return Image::GBVerify();//中文验证码
    7    }

    模板中的调用

     <img src="{$Think.const.__URL__}/verify"  alt="" />

    显示的效果

    但是在显示中文验证码时,却显示不出来

    代码是上图中注释的部分,模板中没变,我直接访问控制器的这个方法,出现错误提示

    到文件中看代码中这个函数

     if($type!=4) {
                $chars   =   str_shuffle($chars);
                $str     =   substr($chars,0,$len);
            }else{
                // 中文随机字
                for($i=0;$i<$len;$i++){
                  $str.= self::msubstr($chars, floor(mt_rand(0,mb_strlen($chars,'utf-8')-1)),1,'utf-8',false);
                }
            }

    检查了一下php.ini,extension=php_mbstring.dll没打开,那就打开,记得重启apache。接着中文验证码就输出来了。

    如图

  • 相关阅读:
    mysql 创建数据库 添加用户 数据库授权给某用户
    Storm近年的发展
    Doris 最佳实践-Compaction调优
    pickle,struct,ujson,orjson 模块
    python用prettytable输出漂亮的表格
    nginx自定义访问日志
    事务 知识点梳理
    14
    13
    8
  • 原文地址:https://www.cnblogs.com/zhaoshunjie/p/4628538.html
Copyright © 2020-2023  润新知