加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

laravel5验证码

发布时间:2020-12-14 19:58:54 所属栏目:大数据 来源:网络整理
导读:?laravel框架是一个“非常优雅的框架”的框架,但是laravel框架中却没有像TP 以及Ci框架中自带的验证码类,此时就需要引入第三方库,下面我们就开始吧!!!??? 参考文章链接:http://www.jianshu.com/p/8e4ac7852b5a 效果展示: 代码实现: 在Laravel中有很

?laravel框架是一个“非常优雅的框架”的框架,但是laravel框架中却没有像TP 以及Ci框架中自带的验证码类,此时就需要引入第三方库,下面我们就开始吧!!!??? 参考文章链接:http://www.jianshu.com/p/8e4ac7852b5a

效果展示:

代码实现:

在Laravel中有很多图片验证码的库可以使用,本篇介绍其中之一:gregwar/captcha,这个库比较简单,在Laravel中比较常用。下面我们就来介绍下使用细节:

1、首先,进入laravel框架根目录下打开 composer.json中如下加入配置:

<div class="cnblogs_code">

"require":...  
        "gregwar/captcha": "1.*",

2、打开cmd进入laravel框架根目录

?? 执行

composer update

安装成功!

3、这样就可以使用了

??? 1、控制器定义方法生成验证码图片

<span style="color: #0000ff">class RegisterController <span style="color: #0000ff">extends<span style="color: #000000"> Controller
{

</span><span style="color: #008000"&gt;/*</span><span style="color: #008000"&gt;* 
 * 验证码生成 
 * @param  [type] $tmp [description] 
 * @return [type]      [description] 
 </span><span style="color: #008000"&gt;*/</span>  
<span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;function</span> captcha(<span style="color: #800080"&gt;$tmp</span><span style="color: #000000"&gt;)  
{  
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;生成验证码图片的Builder对象,配置相应属性  </span>
    <span style="color: #800080"&gt;$builder</span> = <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; CaptchaBuilder;  
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;可以设置图片宽高及字体  </span>
    <span style="color: #800080"&gt;$builder</span>->build(<span style="color: #800080"&gt;$width</span> = 100,<span style="color: #800080"&gt;$height</span> = 40,<span style="color: #800080"&gt;$font</span> = <span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;);  
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;获取验证码的内容  </span>
    <span style="color: #800080"&gt;$phrase</span> = <span style="color: #800080"&gt;$builder</span>-><span style="color: #000000"&gt;getPhrase();  
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;把内容存入session  </span>
    Session::flash('milkcaptcha',<span style="color: #800080"&gt;$phrase</span><span style="color: #000000"&gt;);  
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;生成图片  </span>
    <span style="color: #008080"&gt;header</span>("Cache-Control: no-cache,must-revalidate"<span style="color: #000000"&gt;);  
    </span><span style="color: #008080"&gt;header</span>('Content-Type: image/jpeg'<span style="color: #000000"&gt;);  
    </span><span style="color: #800080"&gt;$builder</span>-><span style="color: #000000"&gt;output();  
}  

}

? 2、定义访问路由

Route::get('/index/captcha/{tmp}','RegisterController@captcha');

3、前台调用

<div class="cnblogs_code">

验证码  
$("#change").click( = "{{ URL('index/captcha') }}" = + "/" + Math..getElementById('c2c98f0de5a04167a9e427d883690ff6').src=

4、后台验证

<div class="cnblogs_code">


             (Session::get('milkcaptcha')!= ("code"=>2,"msg"=>"验证码错误"

验证码流程已经走通

下面还有很多方法:

  可以将验证码图片保存文件:

<span style="color: #800080">$builder->save('out.jpg');

? ? ? ? 可以直接输出图片到网页:

<span style="color: #008080">header('Content-type: image/jpeg'<span style="color: #000000">);
<span style="color: #800080">$builder->output();

? ? ? ? 可以生成内联图片:

->inline(); ?>" />

以下演示了其中一种使用方式,直接输出图片到网页。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读