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 ...
随机推荐
- BZOJ1086 [SCOI2005]王室联邦
Description “余”人国的国王想重新编制他的国家.他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成 员来管理.他的国家有n个城市,编号为1..n.一些城市之间有道路相连,任意两个 ...
- POJ2253 Frogger
Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 34865 Accepted: 11192 Descrip ...
- Codeforces 578B "Or" Game
传送门 B. "Or" Game time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- linux 下用户管理
linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...
- 操作haproxy配置文件教师版
作用: 可查,可增,可删,可修改 #_*_coding:utf-8_*_ import os def file_handle(filename,backend_data,record_list=Non ...
- ASP.NET WebAPI 03 返回结果
在WebAPI中HttResponseMessage作为消息返回,而在ApiController中我们经常讲四类数据作为返回值,void,object(可序列化),IHttpActionResult, ...
- BurpSuite之SQL Injection
BurpSuite之SQL Injection[平台]:mutillidae[工具]BurpSuite 1.4.07 + FireFox1:安装配置mutillidae如果遇到问题,开下面的帖子.ht ...
- ASP.NET MVC学习笔记-----使用自定义的View Engine
我们都知道在ASP.NET MVC中自带了Razor View Engine,Razor十分的强大,可以满足我们绝大部分的需要.但是ASP.NET MVC的高度可扩展性,使我们可以使用自定义的View ...
- 《深入PHP与jQuery开发》读书笔记——Chapter1
由于去实习过后,发现真正的后台也要懂前端啊,感觉javascript不懂,但是之前用过jQuery感觉不错,很方便,省去了一些内部函数的实现. 看了这一本<深入PHP与jQuery开发>, ...
- 关于git提交的自己的理解
包子不才,对于码云上的git的使用,自己的理解是 这个命令用于查看,哪些文件被修改了,以及修改了哪些地方, 这个命令用于增加你新添的文件,如果该文件已经存在,那么这一步则可以省略,随后就是commit ...