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