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 ...
随机推荐
- Visio绘制时序图
用visio建立时序图 1.选择模版 2.常见符号 时序图创建步骤 1.确定交互过程的上下文: 2.识别参与过程的交互对象: 3.为每个对象设置生命线: 4.从初始消息开始,依次画出随后消息: 5.考 ...
- 两个大的整数的运算(java)
import java.math.BigInteger; public class BigInt { BigInteger m1; BigInteger m2; BigInteger m3; BigI ...
- 巧用jquery实现提交(submit)表单时候验证文本框是否为空
http://www.cnblogs.com/wifi/articles/2387131.html 先引用jquery Html部分--------------------------------- ...
- jquery------.cycle的使用
代码下载地址:http://malsup.github.io/jquery.cycle.all.js 把里面的代码复制到jquery.cycle.all.js里面 index.jsp <scri ...
- 初学Hibernate主键生成策略
具有业务含义的主键叫自然主键:随机生成,不具备业务含义的字段作为主键,叫代理主键. 在表与POJO类关系映射文件XXX.hbm.xml中,可通过配置id元素下generator节点的class属性指定 ...
- Google Protocol Buffer 的使用和原理
Google Protocol Buffer 的使用和原理 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式.它 ...
- Ward BRDF实现心得
最近做了Ward BRDF的实现,相对于之前的lambert,phong来说,Ward是一个真正意义上的各向异性BRDF,但同样的,Ward模型也是一个基于经验的模型,并不是物理上正确的.它由ward ...
- Unity自动打包Apk
unity打包apk相对来说比较容易,相信出过的人都明白,出包过程,没有大的难度,一步一操作,一步一等待,繁琐耗时,不懂的人又代替不了.这时候需求就来了,如何简单的一键打包搞定,这个就稍微有点难度,当 ...
- SpringMVC 返回JSON数据
首先添加json包
- logback 项目应用
1.gradle引用: compile group: 'commons-logging', name: 'commons-logging', version: '1.1.3' compile grou ...