zoukankan      html  css  js  c++  java
  • 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 HomeController;//这个文件的命名空间
    use ThinkController;//use使用哪一个而命名空进。找Controller父类的文件
    
    //http://localhost/ThinkPHP/index.php/Home/Diyi/Test
    
    
    class DiyiController extends Controller
     {
        		 
    	  //验证码
    	  function YZM() //YZM--操作方法
    	  {
    		  //第一步,造验证码的对象
    		  $v = new ThinkVerify();//通过命名空间来找到类。在初始命名空间下的Think,下面有Verify.class.php
    		  //调用对象里的方法
    		  $v->entry();//调用这个entry()方法就可生成验证码
    	  }
    	  
    	  function xianshi()
    	  {
    		 //这个方法在执行是,把页面打印出来
    		 $this->display(); 
    	  }
    	  
    	  
    	 
     }					 
    				 
    	
    

    显示的结果:

    2、

    这个页面需要生成多个验证码-----如何进行区分??

                      entry()方法里可以写参数,写参数代表的是给验证码进行区分,区分是第几个

     

     3、

    例子:

    <?php
    namespace HomeController;//这个文件的命名空间
    use ThinkController;//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 ThinkVerify($config);
    		  $v ->entry();
    		  
    		  
    		  //第一步,造验证码的对象
    		  $v = new ThinkVerify();//通过命名空间来找到类。在初始命名空间下的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 HomeController;//这个文件的命名空间
    use ThinkController;//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 ThinkVerify($config);
    		  $v ->entry();
    		  
    		  
    		  //第一步,造验证码的对象
    		  $v = new ThinkVerify();//通过命名空间来找到类。在初始命名空间下的Think,下面有Verify.class.php
    		  //调用对象里的方法
    		  $v->entry();//调用这个entry()方法就可生成验证码
    	  }
    	  
    	  function xianshi()
    	  {
    		 //这个方法在执行是,把页面打印出来
    		 $this->display(); 
    	  }
    	  
    	  
    	 
     }					 
    				 
    	
    

                                                 换验证码的背景图片

    显示的结果:

    第一次,刷新:

    第二次,刷新:

     6、中文验证码

    找字体文件:

                                         必须是ttf格式

    把上面的文件复制到

    <?php
    namespace HomeController;//这个文件的命名空间
    use ThinkController;//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 ThinkVerify($config);
    		  $v ->entry();
    		  
    		  
    		  //第一步,造验证码的对象
    		  $v = new ThinkVerify();//通过命名空间来找到类。在初始命名空间下的Think,下面有Verify.class.php
    		  //调用对象里的方法
    		  $v->entry();//调用这个entry()方法就可生成验证码
    	  }
    	  
    	  function xianshi()
    	  {
    		 //这个方法在执行是,把页面打印出来
    		 $this->display(); 
    	  }
    	  
    	  
    	 
     }					 
    				 
    	
    

                                            fontttf=''表示:所示用哪一个字体。   fontttf =‘要写字体的文件名’

      

     显示的 结果:

    如果只设置'useZh' => true,找不到字体,因为默认使用的是英文的

  • 相关阅读:
    Herny
    机器学习No.4
    机器学习No.3
    机器学习No.2
    机器学习No.1
    算法第五章上机实践报告
    算法第五章作业
    算法第四章实践报告
    算法第四章作业
    算法第三章作业
  • 原文地址:https://www.cnblogs.com/yuyu1993/p/5731268.html
Copyright © 2011-2022 走看看