• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP--TP框架----生成验证码的方式

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP学习十二--日期和时间发布时间:2022-07-10
下一篇:
phpfilemtimefilectimefileatime的区别发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap