IT虾米网

laravel 图片验证码详解

developer 2019年04月12日 编程语言 162 0

  今天看见一个网站登录页面有个图片验证码,想想自己以前好像真没弄过这个玩意,正好现在有时间,准备用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、路由设置

 

 

4、视图层

 

 

 5、结果

 

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

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

MySQL防止库存超卖方法总结详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。