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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM