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,找不到字體,因為默認使用的是英文的
