PHP--TP框架----生成验证码的方式
TP框架----生成验证码的方式
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、

【2】 【1】
【1】把验证码的类造一个对象出来。
【2】调用对象里的方法,方法是entry()----可以生成验证码。
验证码的类----Verify.class.php

<?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、



例子:
<?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 目录下面的图片。

验证码的背景图片文件
例子:
<?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格式
把上面的文件复制到

<?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,找不到字体,因为默认使用的是英文的

浙公网安备 33010602011771号