larave5 验证码




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

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. "require": {  
  2.         ...  
  3.         "gregwar/captcha""1.*"  
  4.     },  

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

   执行

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. composer update  

安装成功!


3、这样就可以使用了

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

   eg:

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <?php  
  2. namespace App\Http\Controllers\Frontend;  
  3. use Illuminate\Http\Request;  
  4. use App\Http\Requests;  
  5. use App\Http\Controllers\Controller;  
  6. use Gregwar\Captcha\CaptchaBuilder;  
  7. use Session;  
  8.   
  9. class RegisterController extends Controller  
  10. {    
  11.   
  12.       
  13.   
  14.     /** 
  15.      * 验证码生成 
  16.      * @param  [type] $tmp [description] 
  17.      * @return [type]      [description] 
  18.      */  
  19.     public function captcha($tmp)  
  20.     {  
  21.         //生成验证码图片的Builder对象,配置相应属性  
  22.         $builder = new CaptchaBuilder;  
  23.         //可以设置图片宽高及字体  
  24.         $builder->build($width = 100, $height = 40, $font = null);  
  25.         //获取验证码的内容  
  26.         $phrase = $builder->getPhrase();  
  27.         //把内容存入session  
  28.         Session::flash('milkcaptcha'$phrase);  
  29.         //生成图片  
  30.         header("Cache-Control: no-cache, must-revalidate");  
  31.         header('Content-Type: image/jpeg');  
  32.         $builder->output();  
  33.     }  
  34.   
  35.        
  36. }  

  2、定义访问路由

   

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. //生成验证码  
  2. Route::get('/index/captcha/{tmp}''RegisterController@captcha');  

3、前台调用

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <img src="{{ URL('index/captcha/1') }}"  alt="验证码" title="刷新图片" width="100" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"> <span> <a id="change" href="javascript:;" code_src=""> 换一张</a></span> </div>  

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. $("#change").click(function(){  
  2.        $url = "{{ URL('index/captcha') }}";  
  3.        $url = $url + "/" + Math.random();  
  4.        document.getElementById('c2c98f0de5a04167a9e427d883690ff6').src=$url;  
  5.     })  

4、后台验证

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. //验证码检测  
  2.                 if(Session::get('milkcaptcha')!=$code) {  
  3.                 return array("code"=>2,"msg"=>"验证码错误");  
  4.              }   

验证码流程已经走通

下面还有很多方法:

  • 可以将验证码图片保存文件:
<?php

$builder->save('out.jpg');
  • 可以直接输出图片到网页:
<?php

header('Content-type: image/jpeg');
$builder->output();
  • 可以生成内联图片:
<img src="<?php echo $builder->inline(); ?>" />

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




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值