使用其他风格验证码

在上文《ThinkPHP 验证码详解及实例》中了解了 ThinkPHP 验证码的具体用法,本文将进一步介绍如何使用不同风格的验证码以及使用中文验证码。

上文例子使用的是默认参数,也就是生成 4 位的数字验证码。buildImageVerify 方法生成验证码时,根据不同参数,可以生成不同风格的验证码。

buildImageVerify()

buildImageVerify 方法语法如下:

buildImageVerify(length, mode, type, width, height, verifyName)

参数说明:

参数

说明

length

验证码字符个数,默认为 4 位。

mode

验证码字符类型,默认为数字。其他支持类型有:0字母 1数字 2大写字母 3小写字母 4中文 5混合(去掉了容易混淆的字符oOLl和数字01)。

type

验证码的图片类型,默认为 png 。

width

验证码图片的宽度,默认根据验证码长度自动计算。

height

验证码图片的高度,默认为 22px 。

verifyName

验证码的 SESSION 注册名称,默认为 verify 。

因此可以根据参数构造出其他风格的验证码,如:

// 5位数字

Image::buildImageVerify(5);

// 5位大写字母

Image::buildImageVerify(5, 2);

// 6位大小写字母与数字混合

Image::buildImageVerify(6, 5);

中文验证码

buildImageVerify 方法不支持中文验证码的显示,要使用中文验证码,需要使用 GBVerify 方法。

buildImageVerify()

buildImageVerify 方法语法如下:

GBVerify(length, type, width, height, fontface, verifyName)

参数说明:

参数

说明

length

验证码字符个数,默认为 4 位。

type

验证码的图片类型,默认为 png 。

width

验证码图片的宽度,默认根据验证码长度自动计算。

height

验证码图片的高度,默认为 50px 。

fontface

使用的字体文件,使用包含路径的完整文件名或者将字体文件放到图像类(Image.class.php)同目录下,默认使用的字体文件是 simhei.ttf (存在于 windows 的 Fonts 目录下)。

verifyName

验证码的 SESSION 注册名称,默认为 verify 。

例子:

Public function verify(){

import("ORG.Util.Image");

Image::GBVerify();

}

如果一切正常,验证码显示如下:

如果数字英文的验证码能正常显示而不能显示中文验证码,那很可能是没有读取到正确的字体文件。将 simhei.ttf 文件拷贝至 Image.class.php 同目录(ThinkPHP目录/Lib/ORG/Util/)下即可。

提示

如果导入的是当前项目下的 Image 类库,那么需要加载 ThinkPHP 扩展库,否则会报语法错误(Call to undefined function rand_string()):

Public function verify(){

Load('extend');

import("@.ORG.Image");

Image::GBVerify();

}

同时,simhei.ttf 文件也要拷贝至 Image.class.php 同目录(项目目录/Lib/ORG/)下。

ThinkPHP 验证码目前不支持大小写英文混合(无数字)以及中英文混合的验证码。

php验证码 php中文网,ThinkPHP 使用不同风格及中文的验证码相关推荐

  1. 验证码加减乘PHP,ThinkPHP 3.2.3实现加减乘除图片验证码

    ThinkPHP 3.2.3 自带的验证码类位于 /ThinkPHP/Library/Think/Verify.class.php,字体文件位于 /ThinkPHP/Library/Think/Ver ...

  2. PHP实现加减乘除图片验证码,ThinkPHP 3.2.3实现加减乘除图片验证码

    ThinkPHP 3.2.3 自带的验证码类位于 /ThinkPHP/Library/Think/Verify.class.php,字体文件位于 /ThinkPHP/Library/Think/Ver ...

  3. 用C#生成随机中文汉字验证码的基本原理

    前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自 ...

  4. 用C#生成中文汉字验证码的基本原理

    用C#生成中文汉字验证码的基本原理 前几天去申请免费qq号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,moper上的猫儿们都大骂腾讯采用中文验证码.^_^     我不得 ...

  5. 用C#生成随机中文汉字验证码

    1.汉字编码原理 到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个汉字组合就行了呢?使用后台数据库先将所有汉字存起来使用时随机取出 ...

  6. c 语言随机验证码原理,用C生成随机中文汉字验证码的基本原理及代码.doc

    用C生成随机中文汉字验证码的基本原理及代码 用C#生成随机中文汉字验证码的基本原理 1.汉字编码原理 到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字, ...

  7. dede 验证码不显示 vdimgck.php,织梦(dedecms)后台登录验证码不显示或不正常的解决方法...

    随着互联网的快速发展,站长已经成为了互联网中的新兴人群,而其中建站使用的cms以织梦居多,伴随着人数的增多,在使用织梦cms中遇到的问题也越来越多,其中最棘手的问题莫过于验证码无法显示而导致无法登陆后 ...

  8. gitee注册新用户收不到验证码, 不管是手机还是邮箱都收不到验证码解决方案

    gitee码云注册新用户收不到验证码, 不管是手机还是邮箱都收不到验证码解决方案题 真的是气死我了, 搞了两三个小时, 不管是手机注册还是邮箱注册还是第三方登录我都收不到注册处所需的验证码, 如下图. ...

  9. java手机验证码登陆_在Web项目中手机短信验证码实现的全过程记录

    这篇文章主要给大家介绍了关于在Web项目中实现短信验证码的全过程记录,文中通过示例代码介绍的非常详细,在文末跟大家提供了源码下载,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧. 前言 最近在做 ...

最新文章

  1. centos 7 配置 到多站点设置
  2. 【Excel】VBA批量修改文件名
  3. Django简介Django 各个环境下的安装
  4. poj 3189 Steady Cow Assignment(二分+最大流)
  5. 作者:顾佳峰(1975-),男,博士,北京大学中国社会科学调查中心研究发展部主任,北京大学创新研究院副院长。...
  6. 【项目管理】虚拟团队
  7. 匹配除中文和空格意外的正则写法
  8. 项目review会议的步骤_进行完美的30分钟会议的6个步骤
  9. C#:Interval Helper
  10. 练习--第一次课(运算if while 字符编码)
  11. 大数据分析平台搭建方式有哪些
  12. jsp购物车简单实现思想(一)
  13. 计算机子网掩码在线,IP地址计算器
  14. 用oracle做九九乘法表,Oracle三种循环例题:打印九九乘法表
  15. Java实现魔板拼图小游戏(完整版)
  16. 【错误记录】python不常用的一个小操作:安装pip
  17. MySql:学生表、教师表、课程表、分数表 练习
  18. IDEA中工程结构讲解
  19. office-word使用技巧——查找替换
  20. Three.js加载动画模型并控制播放

热门文章

  1. 设计模式 工厂方法_工厂设计模式–一种有效的方法
  2. 使用JUnit 5测试异常
  3. 什么是JavaServer Faces(JSF)–(第2部分)
  4. 在javafx中界面主题_最小的JavaFX演示文稿(在JavaFX中)
  5. lambdas for_Wordcounter,使用Lambdas和Fork / Join计算Java中的单词数
  6. java序列化深克隆_克隆可序列化和不可序列化的Java对象
  7. WildFly 8.2.0.Final版本–更改的快速概述
  8. 在Java 8中使用Stream API列出ZIP文件的内容
  9. Spring MVC控制器的单元测试:配置
  10. MOXy的对象图和动态JAXB