xianshi.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<img src="__CONTROLLER__/YZM"><!--src=""指向的是操作方法。"__CONTROLLER__/YZM"当前控制器下-->
</body>
</html>
1、
【1】把验证码的类造一个对象出来。
【2】调用对象里的方法,方法是entry()----可以生成验证码。
验证码的类----Verify.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<?php namespace Home\Controller; //这个文件的命名空间 use Think\Controller; //use使用哪一个而命名空进。找Controller父类的文件 //http://localhost/ThinkPHP/index.php/Home/Diyi/Test class DiyiController extends Controller { //验证码 function YZM() //YZM--操作方法 { //第一步,造验证码的对象 $v = new \Think\Verify(); //通过命名空间来找到类。在初始命名空间下的Think,下面有Verify.class.php //调用对象里的方法 $v ->entry(); //调用这个entry()方法就可生成验证码 } function xianshi() { //这个方法在执行是,把页面打印出来 $this ->display(); } } |
2、
这个页面需要生成多个验证码-----如何进行区分??
entry()方法里可以写参数,写参数代表的是给验证码进行区分,区分是第几个
3、
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?php namespace Home\Controller; //这个文件的命名空间 use Think\Controller; //use使用哪一个而命名空进。找Controller父类的文件 //http://localhost/ThinkPHP/index.php/Home/Diyi/Test class DiyiController extends Controller { //验证码 function YZM() //YZM--操作方法 { $config = array ( 'fontSize' =>
30, 'length' =>
3, ); $v = new \Think\Verify( $config ); $v ->entry(); //第一步,造验证码的对象 $v = new \Think\Verify(); //通过命名空间来找到类。在初始命名空间下的Think,下面有Verify.class.php //调用对象里的方法 $v ->entry(); //调用这个entry()方法就可生成验证码 } function xianshi() { //这个方法在执行是,把页面打印出来 $this ->display(); } } |
4、验证码的字体
ttfs要有相应的文件:
【2】
【1】
【1】英文的字体文件
【2】中文的字体文件
这个属性,可以设置要使用哪一个字体
5、验证码的背景图片
useImgBg
默认是false,要改成true。改完之后,随机使用 ThinkPHP/Library/Think/Verify/bgs 目录下面的图片。
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?php namespace Home\Controller; //这个文件的命名空间 use Think\Controller; //use使用哪一个而命名空进。找Controller父类的文件 //http://localhost/ThinkPHP/index.php/Home/Diyi/Test class DiyiController extends Controller { //验证码 function YZM() //YZM--操作方法 { $config = array ( 'fontSize' =>
30, 'length' =>
3, 'useImgBg' =>
true, ); $v = new \Think\Verify( $config ); $v ->entry(); //第一步,造验证码的对象 $v = new \Think\Verify(); //通过命名空间来找到类。在初始命名空间下的Think,下面有Verify.class.php //调用对象里的方法 $v ->entry(); //调用这个entry()方法就可生成验证码 } function xianshi() { //这个方法在执行是,把页面打印出来 $this ->display(); } } |
换验证码的背景图片
显示的结果:
第一次,刷新:
第二次,刷新:
6、中文验证码
找字体文件:
必须是ttf格式
把上面的文件复制到
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<?php namespace Home\Controller; //这个文件的命名空间 use Think\Controller; //use使用哪一个而命名空进。找Controller父类的文件 //http://localhost/ThinkPHP/index.php/Home/Diyi/Test class DiyiController extends Controller { //验证码 function YZM() //YZM--操作方法 { $config = array ( 'fontSize' =>
30, 'length' =>
3, //'useImgBg'
=> true, 'useZh' =>
true, 'fontttf' => 'simkai.ttf' , ); $v = new \Think\Verify( $config ); $v ->entry(); //第一步,造验证码的对象 $v = new \Think\Verify(); //通过命名空间来找到类。在初始命名空间下的Think,下面有Verify.class.php //调用对象里的方法 $v ->entry(); //调用这个entry()方法就可生成验证码 } function xianshi() { //这个方法在执行是,把页面打印出来 $this ->display(); } } |
fontttf=''表示:所示用哪一个字体。
fontttf =‘要写字体的文件名’
显示的
结果:
如果只设置'useZh'
=> true,找不到字体,因为默认使用的是英文的