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

PHP--TP框架----生成验证码的方式的更多相关文章

  1. 6月19 使用tp框架生成验证码及文件上传

    ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think ...

  2. 第二百七十节,Tornado框架-生成验证码图片,以及验证码结合Session验证

    Tornado框架-生成验证码图片,以及验证码结合Session验证 第一.生成验证码图片  生成验证码图片需要两个必须模块 1.python自带的random(随机模块) 2.Pillow()图像处 ...

  3. tp框架实现验证码

    今天来看一个小插件. tp框架是怎么实现验证码的. 又到了我们千篇一律的时候了,首先呢,先做一个用来显示的html界面名为:zhuce.html <!DOCTYPE html PUBLIC &q ...

  4. tp框架之验证码

    控制器 function yzm() { /*$config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 4, // 验证码位数 ' ...

  5. tp框架实现验证码验证

    //实现验证页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  6. js和php中几种生成验证码的方式

    之前做过取随机数和生成验证码的练习,都是通过取随机数作为数组下标,然后从数组中取值的方式(js): /*验证码*/ function sj_yzm(){ //存一个包括数字和字母的数组 var zon ...

  7. tp框架为什么验证码加载不出来?----- ob_clean() 可解决

    在用tp做验证码时,代码逻辑都正确,但就是加载不出图片来,如何解决呢?在创建验证码之前加上 ob_clean(); public function haha(){ ob_clean(); $v = n ...

  8. TP框架设置验证码

    thinkphp框架有专门的的验证码生成的模块 public function shengcheng(){ $n = new \Think\Verify(); $n->entry(); } 下面 ...

  9. 第一零二天上课 PHP TP框架 引入文件路径问题和调用验证码的方式

    外部文件引入到视图模板的方式       1,将外部文件放在Public文件夹下,用load标签引入       2,在模板出书写引入代码(方法有很多,只有以下方法不容易出问题) <load h ...

随机推荐

  1. Emgu学习之(一)——Emgu介绍

    OpenCV“OpenCV是一个开源的计算机视觉库.OpenCV采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上.OpenCV还提供了Python.Ruby.MATLA ...

  2. VirtualBox安装debian的详细方法步骤

    下面是用VirtualBox安装Debian6的方法和步骤 l 新建一个文件夹,用于存放虚拟硬盘,如Debian l 打开VirtualBox,点击新建 l 输入虚拟机名称,Debian_6 l 给虚 ...

  3. hdu 2085 核反应堆

    看完题,想到用结构体存储高质点和低质点,然后打表存储<33的质点数量. #include<stdio.h> struct hilo { long long hi,lo; }; int ...

  4. 只能输入汉字js脚本

    <html> <head> <meta http-equiv="Content-Type" content="text/html" ...

  5. CSS创建一个遮罩层

    .layer{ width: 100%; position: absolute; left:; right:; top:; bottom:; -moz-opacity:; filter: alpha( ...

  6. js Float 精度

    1.加法 //加法 function add(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1].lengt ...

  7. (转)win32Application和win32ApplicationConsole

    这几天在创建MFC项目时,常常遇到一下两个连接错误,例如: 1. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _ma ...

  8. 给setTimeout和setIntreval函数添加回调参数

    setTimeout和setInterval是两个很常见的计时函数.在以前,他们只接收两个参数,我们无法直接向他们的回调函数中添加参数,如果需要实现添加多个参数,可以在外层多嵌一层来实现类似的功能.现 ...

  9. Matlab的曲线拟合工具箱CFtool使用简介

    http://phylab.fudan.edu.cn/doku.php?id=howtos:matlab:mt1-5 一. 单一变量的曲线逼近Matlab有一个功能强大的曲线拟合工具箱 cftool ...

  10. java笔记--适配器模式的运用

    适配器模式的运用 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3884785.html "谢谢-- 主要应用: 可以在符合 ...