laravel 图片验证码

时间:2023-03-09 09:11:56
laravel 图片验证码

  今天看见一个网站登录页面有个图片验证码,想想自己以前好像真没弄过这个玩意,正好现在有时间,准备用laravel来弄个图片验证码出来,不多BB,直接上代码

1、直接使用别人封装好的,composer下载一个

composer require gregwar/captcha

2、直接设置各种属性和输出图片

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Gregwar\Captcha\CaptchaBuilder;
use Gregwar\Captcha\PhraseBuilder; class IndexController extends Controller
{
public function index()
{
return view('index');
} /**
* 设置并输出图片
*/
public function getCaptcha()
{
$phrase = new PhraseBuilder;
// 设置验证码位数
$code = $phrase->build(5);
// 生成验证码图片的Builder对象,配置相应属性
$builder = new CaptchaBuilder($code, $phrase);
// 设置背景颜色25,25,112
$builder->setBackgroundColor(25, 25, 112);
// 设置倾斜角度
$builder->setMaxAngle(25);
// 设置验证码后面最大行数
$builder->setMaxBehindLines(10);
// 设置验证码前面最大行数
$builder->setMaxFrontLines(10);
// 设置验证码颜色
$builder->setTextColor(255, 255, 0);
// 可以设置图片宽高及字体
$builder->build($width = 150, $height = 40, $font = null); // 获取验证码的内容
$phrase = $builder->getPhrase();
// 把内容存入session
session()->put('CAPTCHA_IMG', $phrase); // 生成图片
header('Cache-Control: no-cache, must-revalidate');
header('Content-Type:image/jpeg');
$builder->output();
}
}

3、路由设置

laravel 图片验证码

4、视图层

laravel 图片验证码

 5、结果

laravel 图片验证码

以上就是本次内容的全部了