php验证码背景图是数字,ThinkPHP5.0.20验证码背景图片

tp5配置验证码相关问题

一、验证码背景图片及tp中文验证码

5.0.1及以上支持者在应用配置目录(application)下面 extra 子目录内配置captcha.php文件;

配置参数如下:

'2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',

// 验证码字体大小(px)

'fontSize' => 15,

// 是否画混淆曲线

'useCurve' => false,

// 验证码图片高度

'imageH' => 50,

// 验证码图片宽度

'imageW' => 150,

// 验证码位数

'length' => 5,

// 中文验证码

'useZh' =>true,

// 是否使用背景图片

'useImgBg' =>true,

// 是否使用杂点

'useNoise'=>false,

// 背景颜色

'bg'=>[222, 231, 132],

// 验证成功后是否重置

'reset' => true,

//验证码过期时间(秒),默认为1800秒

'expire' =>1800,

];

1,开启验证码背景图片功能(必须是开启验证码背景图片功能), 在扩展包内`think-captcha/src`目录下新建verify目录,然后再在zaiverify目录下面新建bgs目录,将背景图片放入bgs目录中。(官方指定的目录与程序代码的目录不符合)。

官方给定代码如下:

read())) {

if ('.' != $file[0] && substr($file, -4) == '.jpg') {

$bgs[] = $path . $file;

}

}

$dir->close();

$gb = $bgs[array_rand($bgs)];

list($width, $height) = @getimagesize($gb);

// Resample

$bgImage = @imagecreatefromjpeg($gb);

@imagecopyresampled($this->_image, $bgImage, 0, 0, 0, 0, $this->imageW, $this->imageH, $width, $height);

@imagedestroy($bgImage);

}

2,如果要使用中文验证码,验证码字体使用扩展包内`think-captcha/assets/zhttfs`目录下面的字体文件。

二、引用及验证

1,引用:

{:captcha_img()}

或者

%7B:captcha_src()%7D

2,验证:

使用TP5的内置验证功能,添加captcha验证规则即可

$this->validate($data,[ 'captcha|验证码'=>'require|captcha' ]);

或者手动验证

if(!captcha_check($captcha)){ //验证失败 };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c mysql安装教程,Mysql安装教程_完成版(吐血式安装)

每次在不同操作系统中安装oracle和mysql这些常规数据库,步骤就那么点儿,但是遇见的错误却是千差万别。。记一次耗时两天的mysql数据库安装新得,有耐心,有毅力,憋生气。1.官网上下载免安装的版本(也就是下载下来直接解压…

oracle替代变量输出,【Oracle】替代变量

1.替代变量通常而言,替代变量的前缀是&或者&&区别:& 用来创建一个临时变量,每当遇到这个临时变量时,都会提示你输入一个值&&用来创建一个持久变量,当用&&命令引用这个变量时&#xff…

oracle 常用故障,Oracle常见问题解决方案汇总

1、Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务数据库服务器崩了,而且尝试重启服务和重启机器都解决不了问题打开cmd窗口C:\Users\hxt>sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on 星期三 12月 5 11:39:54 2018Co…

特洛伊木马脚本linux,手动查杀特洛伊木马

首先也是最重要的,重新启动电脑到安全模式下,让所有文件都可见。然后进入到C:看看根目录是否存在不熟悉的文件,如果有,且日期为发现中毒现象当天,则删除之。接着到c:\windows,首先按照修改时间顺序排列图标…

linux添加虚拟硬盘命令,虚拟机linux扩盘命令操作

虚拟机linux扩展硬盘分原有硬盘上增加及新增硬盘,二者实现差不多。扩盘:fdisk -l查看是哪个盘扩盘了,如sdb重启后,将sdb刷新pv: pvresize /dev/sdb,pvdisplay查看是否增加了,再将逻辑卷分区VG(L…

mac ssh远程登录linux,MAC使用SSH远程登录

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?Sun 20 December 2015tags: 备忘录MAC使用SSH远程登录打开sshMac Terminal是自带SSH的,可以用whereis来看看$ whereis ssh但是在现有进程中是找不到ssh…

四叶草引导windows和linux,Windows环境下使用Clover四叶草引导双硬盘安装OSX 10.11.5原版镜像...

作为一个穷逼大学生,想搞iOS开发 买不起Mac只能鼓捣鼓捣黑苹果啦。。。。。。。。之前我的电脑通过变色龙引导的方式装了个OSX10.10和win8.1双系统,因为自学的是Swift语言之前装的OSX10.10.4的Xcode(6.多版本的)只支持到Swift1.2,所以现在要装…

linux bash 字符串 连接,Linux Bash 中字符串操作

Linux Bash 中字符串操作所谓 "子字符串" 就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 test" 的子字符串. 我们有多种方法可以从中把数字或指定部分字符串抽取出来.本文会向你展示在 bash shell 中如何获取或者说查找出子…

maven下载源码linux,Maven 下载 源码和javadoc 命令

摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容。一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl 点击对应的方法即可进入对应的源码部分。但是有些时候很多依赖项并不会默认下载对应的源码,因…

Unity将来时:IL2CPP是什么?

Unity3D 想必大家都不陌生,独立游戏制作者们很多人都在用它,甚至一些大公司也用在很商业的游戏制作上。Unity3D最大的一个特点是一次制作,多平台部署,而 这一核心功能是靠Mono实现的。可以说Mono是Unity3D核心的核心,是…

手游频繁崩溃”闪退”? 从程序上找原因

手游频繁崩溃”闪退”? 从程序上找原因 作为玩家,当游戏crash的时候是什么心情,如果这个游戏玩起来还不错的话,那我可能还会打开第二次,如果这个游戏一般的话我可能直接怒删了。当多次出现闪退crash的时候,…

汇编语言属于C语言吧,汇编语言和c语言的区别是什么

区别:汇编语言的效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差;c语言的效率比较低,硬件可操控性比较差,目标代码体积大,容易维护,可移植性很好。…

一款已上市MMO手游地图同步方案总结

1. 客户端地图格子的相关知识在2.5D的MMO游戏里,角色是通过3D的方式渲染,2D的地图是通过2D的方式显示,所以在客户端一般会有三个坐标系: a) 3D坐标系:所有需要3D渲染的角色和光效,都以3D坐标系中定位。 b) …

Unity 内存管理

一:资源类型 GameObject, Transform, Mesh, Texture, Material, Shader, noxss和各种其他Assets。 二:AssetBundle文件内存镜像 来自文件就用CreateFromFile(注意这种方法只能用于standalone程序)这是最快的加载方法。也可以来自Memory,用…

1.逐帧动画shader

最近项目压力不大,抽时间看了些关于shader和游戏引擎的书籍,准备开始shader的学习。 在网上看到这位前辈(http://blog.sina.com.cn/s/articlelist_2312702844_6_1.html)写的博客,觉得很不错,学习曲线应该很…

panel中html怎么写,panel控件有什么用 请写出Panel控件的用途

当多个panel控件重叠时,把一个panel的visible/设置为true,其它的设置为f例如有3个panel,分别为panel1,panel2,panel3 如果重叠的话,把他们的大小设置为相同大小,直接通过上下层来控制即可,例如想要panel2显示出来,就用…

2.转动的地球shader

原理很简单,根据时间对uv中的x轴进行位移,对于地面和云层,取不同的移动速度,分别计算对应的uv坐标,再根据uv坐标从地面和云层的纹理中分别取出对应的值,最后把两者用lerp函数进行混合作为最终结果。 下边的…

3.顶点外扩方法实现的描边shader

描边shader的实现有很多种,顶点外扩是其中之一。顶点外扩的原理是用2个Pass 渲染物体2次第一遍:描边,顶点沿法线方向外拓后用黑色渲染。外扩这一步的实现是在投影空间,也就是2D的,根绝法线的x和y值进行外扩,因为是沿着…

为此计算机所有用户安装加载项,安装Office 2013后,无法在计算机上安装Outlook加载项...

我使用Outlook Add in模板和VSTO在visual studio 2010中实现了Outlook添加,我使用MSI安装程序(在visual studio 2010中创建)为它创建了一个安装..我能够在所有机器上安装它(x86和x64) ) .最近我尝试在安装了Office 2013的计算机上安装相同的安装程序并收到以下错误&…

4.边缘光照的描边shader

【思路】:面向摄像机的物体,它的表面法线【normal】和视角向量【viewDir】的【夹角】越靠近边缘就越大。那么就可以根据这个夹角进行处理,夹角越大,那么发射光越强,就可以实现我们想要的效果。 Shader "Study/4_O…