?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">/*</span><span style="color: #008000">*
* 验证码生成
* @param [type] $tmp [description]
* @return [type] [description]
</span><span style="color: #008000">*/</span>
<span style="color: #0000ff">public</span> <span style="color: #0000ff">function</span> captcha(<span style="color: #800080">$tmp</span><span style="color: #000000">)
{
</span><span style="color: #008000">//</span><span style="color: #008000">生成验证码图片的Builder对象,配置相应属性 </span>
<span style="color: #800080">$builder</span> = <span style="color: #0000ff">new</span><span style="color: #000000"> CaptchaBuilder;
</span><span style="color: #008000">//</span><span style="color: #008000">可以设置图片宽高及字体 </span>
<span style="color: #800080">$builder</span>->build(<span style="color: #800080">$width</span> = 100,<span style="color: #800080">$height</span> = 40,<span style="color: #800080">$font</span> = <span style="color: #0000ff">null</span><span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000">获取验证码的内容 </span>
<span style="color: #800080">$phrase</span> = <span style="color: #800080">$builder</span>-><span style="color: #000000">getPhrase();
</span><span style="color: #008000">//</span><span style="color: #008000">把内容存入session </span>
Session::flash('milkcaptcha',<span style="color: #800080">$phrase</span><span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000">生成图片 </span>
<span style="color: #008080">header</span>("Cache-Control: no-cache,must-revalidate"<span style="color: #000000">);
</span><span style="color: #008080">header</span>('Content-Type: image/jpeg'<span style="color: #000000">);
</span><span style="color: #800080">$builder</span>-><span style="color: #000000">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(); ?>" />
以下演示了其中一种使用方式,直接输出图片到网页。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|