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,找不到字体,因为默认使用的是英文的
PHP--TP框架----生成验证码的方式的更多相关文章
- 6月19 使用tp框架生成验证码及文件上传
ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think ...
- 第二百七十节,Tornado框架-生成验证码图片,以及验证码结合Session验证
Tornado框架-生成验证码图片,以及验证码结合Session验证 第一.生成验证码图片 生成验证码图片需要两个必须模块 1.python自带的random(随机模块) 2.Pillow()图像处 ...
- tp框架实现验证码
今天来看一个小插件. tp框架是怎么实现验证码的. 又到了我们千篇一律的时候了,首先呢,先做一个用来显示的html界面名为:zhuce.html <!DOCTYPE html PUBLIC &q ...
- tp框架之验证码
控制器 function yzm() { /*$config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 4, // 验证码位数 ' ...
- tp框架实现验证码验证
//实现验证页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- js和php中几种生成验证码的方式
之前做过取随机数和生成验证码的练习,都是通过取随机数作为数组下标,然后从数组中取值的方式(js): /*验证码*/ function sj_yzm(){ //存一个包括数字和字母的数组 var zon ...
- tp框架为什么验证码加载不出来?----- ob_clean() 可解决
在用tp做验证码时,代码逻辑都正确,但就是加载不出图片来,如何解决呢?在创建验证码之前加上 ob_clean(); public function haha(){ ob_clean(); $v = n ...
- TP框架设置验证码
thinkphp框架有专门的的验证码生成的模块 public function shengcheng(){ $n = new \Think\Verify(); $n->entry(); } 下面 ...
- 第一零二天上课 PHP TP框架 引入文件路径问题和调用验证码的方式
外部文件引入到视图模板的方式 1,将外部文件放在Public文件夹下,用load标签引入 2,在模板出书写引入代码(方法有很多,只有以下方法不容易出问题) <load h ...
随机推荐
- BZOJ-3524 Couriers 可持久化线段树
可持久化线段树,其实就是类主席树了.. 3524: [Poi2014]Couriers Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1124 Sol ...
- RequestMethod 相关
Http协议的Delete和Put方法是做什么的?怎么用? RequestMethod 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一般来说,Web服务器默认的只支持Pos ...
- BZOJ1202 狡猾的商人
HNOI2005 Day1 T4 Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1, ...
- POJ 1466 Girls and Boys
Girls and Boys Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://poj.org/problem?id=1466 Descripti ...
- bzoj3555 企鹅QQ
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1640 Solved: 613 Description P ...
- PHP 数据库驱动、连接数据不同方式学习笔记
相关学习资料 http://www.php.net/manual/zh/refs.database.php http://www.php.net/manual/zh/internals2.pdo.ph ...
- C#文件复制功能
目的是将用户自定义文件复制到指定文件夹并且能查看该文件,下面是个人做的源码: sing System; using System.Collections.Generic; using System.C ...
- POJ2299Ultra-QuickSort(归并排序 + 树状数组求逆序对)
树状数组求逆序对 转载http://www.cnblogs.com/shenshuyang/archive/2012/07/14/2591859.html 转载: 树状数组,具体的说是 离散化+树 ...
- ASP.NET MVC ActionFilterAttribute的执行顺序
http://diaosbook.com/Post/2014/6/3/execution-order-of-actionfilter-aspnet-mvc ASP.NET MVC里面我们要自定义Act ...
- 初学structs2,表单验证简单补充
一.使用注解方式,跳过验证某个方法 由于在开发中,我们不需在请求每一个action类中的方法时都要走validate方法,那么我们可以在这些不需要验证的方法上加上@SkipValidation注解即可 ...