验证码的使用,先来看看官方文档的使用手册:
http://www.kancloud.cn/manual/thinkphp5/154295
内容如下:
第一步:
安装coposer,
运行cmd命令:
composer require topthink/think-captcha
第二部:
在config文件添加验证码的配置参数。
'captcha' => [
// 验证码字符集合
'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',
// 验证码字体大小(px)
'fontSize' => 25,
// 是否画混淆曲线
'useCurve' => true,
// 验证码图片高度
'imageH' => 30,
// 验证码图片宽度
'imageW' => 100,
// 验证码位数
'length' => 5,
// 验证成功后是否重置
'reset' => true
],
第三步:
在config文件中打开url路由:
// 是否开启路由
'url_route_on' => true,
第四步:
验证码的使用:
<div>{:captcha_img()}</div>
或者
<div><img src="{:captcha_src()}" alt="captcha" /></div>
经过以上4步以后的效果,看看官方文档下面的评论就知道了。
很明显就这样是不太可能正确显示验证码的(特别是你下载的tp
5框架还不是完整版的话)。
很可能你调用验证码后出现NOT found,然后出现验证码的位置出现一个没加载的图片。
问题在哪呢?
首先,安装composer。不要急于安装composer。
先看看你的框架里是否已经有了composer了。安装了的话,在你框架的vendor文件夹里面有一个composer文件夹的,里面有很多的autoload_文件。如果有了就说明安装过了,就不要再安装了。
然后没有安装的话,要把cmd的路径进入你的框架文件夹下运行命令(此处有争议,个人记得是在框架的目录下,也可能直接就在服务器的文件下)。
然后在框架目录里去看一个名为composer.json的文件是否存在。存在几乎就证明没问题了。
然后再配置参数。请注意字符集合参数:’codeSet’他的值是你要输入的验证码,注意0和O(零和英文o) 以及1与小写英文L,不要太变态。这时推荐你回想一下的12306网站的验证码然后你就能像个人一样去对待这个参数了。
最后还要注意标签!{:captcha_img()}与{:captcha_src()}为什么使用{},这时框架的标签。{:}这是输出后面的内容。所以你最好去配置文件中看看你的标签开始和结束符号是什么,做适当的修改。
captcha.html在框架文件的外面,也就是你是直接在文件夹中找不到的,但是服务器地址是可以访问的,它自动生成图片的。(个人认为它是用画布画的图片而不是生成页面,这样也可以解释为什么在文件夹中并不存在这个页面的原因。)
TP框架的验证码默认大小写不敏感!