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)){ //验证失败 };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值