zoukankan      html  css  js  c++  java
  • laravel 图片验证码

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

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

    composer require gregwar/captcha

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

    <?php
    
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    use GregwarCaptchaCaptchaBuilder;
    use GregwarCaptchaPhraseBuilder;
    
    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、结果

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

  • 相关阅读:
    HDU 六度分离
    HDU 找到唯一的冠军
    最短路径问题
    (拓扑排序)确定比赛名次
    Shortest Prefixes
    2768: [JLOI2010]冠军调查( 最小割 )
    BZOJ 1927: [Sdoi2010]星际竞速(最小费用最大流)
    BZOJ 1221: [HNOI2001] 软件开发(最小费用最大流)
    BZOJ 2424: [HAOI2010]订货(最小费用最大流)
    BZOJ 1191: [HNOI2006]超级英雄Hero(二分图匹配)
  • 原文地址:https://www.cnblogs.com/chenhaoyu/p/10371263.html
Copyright © 2011-2022 走看看