laravel 生成验证码的方法
来源:互联网 发布:贵阳广电网络客服电话 编辑:程序博客网 时间:2024/06/05 06:52
在Laravel中有很多图片验证码的库可以使用,本篇介绍其中之一:gregwar/captcha,这个库比较简单,在Laravel中比较常用。下面我们就来介绍下使用细节:
首先, composer.json中如下加入配置:
<code class="json" style="margin: 0px; padding: 0px;"><span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">"require": { ... <span style="margin: 0px; padding: 0px; background-color: rgb(255, 0, 0);">"</span><span class="hljs-attribute" style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; background-color: rgb(255, 0, 0);">gregwar/captcha": </span><span class="hljs-value" style="margin: 0px; padding: 0px;"><span class="hljs-string" style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; background-color: rgb(255, 0, 0);">"1.*"</span> },</span></span></span></span></code>
然后,已成习惯的命令:用cmd执行下面这条命令
composer update
以下演示了其中一种使用方式,直接输出图片到网页。
我定义了一个Controller:
<code class="php" style="margin: 0px; padding: 0px;"><span class="hljs-preprocessor" style="margin: 0px; padding: 0px;"><?php <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">namespace <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">App\<span class="hljs-title" style="margin: 0px; padding: 0px;">Http\<span class="hljs-title" style="margin: 0px; padding: 0px;">Controllers;<span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">use <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">App\<span class="hljs-title" style="margin: 0px; padding: 0px;">Http\<span class="hljs-title" style="margin: 0px; padding: 0px;">Requests;<span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">use <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">App\<span class="hljs-title" style="margin: 0px; padding: 0px;">Http\<span class="hljs-title" style="margin: 0px; padding: 0px;">Controllers\<span class="hljs-title" style="margin: 0px; padding: 0px;">Controller;<span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">use <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">Illuminate\<span class="hljs-title" style="margin: 0px; padding: 0px;">Http\<span class="hljs-title" style="margin: 0px; padding: 0px;">Request;<span class="hljs-comment" style="margin: 0px; padding: 0px; color: green;">//引用对应的命名空间<span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">use <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">Gregwar\<span class="hljs-title" style="margin: 0px; padding: 0px;">Captcha\<span class="hljs-title" style="margin: 0px; padding: 0px;">CaptchaBuilder;<span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">use <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">Session;<span class="hljs-class" style="margin: 0px; padding: 0px;"><span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">class <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">KitController <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">extends <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">Controller { <span class="hljs-comment" style="margin: 0px; padding: 0px; color: green;">/** * Display a listing of the resource. * * <span class="hljs-doctag" style="margin: 0px; padding: 0px; color: gray;">@return Response */ <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">public <span class="hljs-function" style="margin: 0px; padding: 0px;"><span class="hljs-keyword" style="margin: 0px; padding: 0px;">function <span class="hljs-title" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">captcha<span class="hljs-params" style="margin: 0px; padding: 0px;">(<span class="hljs-variable" style="margin: 0px; padding: 0px; color: green;">$tmp) { <span class="hljs-comment" style="margin: 0px; padding: 0px;">//生成验证码图片的Builder对象,配置相应属性 <span class="hljs-variable" style="margin: 0px; padding: 0px;">$builder = <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">new CaptchaBuilder; <span class="hljs-comment" style="margin: 0px; padding: 0px; color: green;">//可以设置图片宽高及字体 <span class="hljs-variable" style="margin: 0px; padding: 0px;">$builder->build(<span class="hljs-variable" style="margin: 0px; padding: 0px;">$width = <span class="hljs-number" style="margin: 0px; padding: 0px;">100, <span class="hljs-variable" style="margin: 0px; padding: 0px;">$height = <span class="hljs-number" style="margin: 0px; padding: 0px;">40, <span class="hljs-variable" style="margin: 0px; padding: 0px;">$font = <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 255);">null); <span class="hljs-comment" style="margin: 0px; padding: 0px; color: green;">//获取验证码的内容 <span class="hljs-variable" style="margin: 0px; padding: 0px;">$phrase = <span class="hljs-variable" style="margin: 0px; padding: 0px;">$builder->getPhrase(); <span class="hljs-comment" style="margin: 0px; padding: 0px;">//把内容存入session Session::flash(<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">'milkcaptcha', <span class="hljs-variable" style="margin: 0px; padding: 0px; color: green;">$phrase); <span class="hljs-comment" style="margin: 0px; padding: 0px;">//生成图片 header(<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">"Cache-Control: no-cache, must-revalidate"); header(<span class="hljs-string" style="margin: 0px; padding: 0px;">'Content-Type: image/jpeg'); <span class="hljs-variable" style="margin: 0px; padding: 0px; color: green;">$builder->output(); }}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code><br style="margin: 0px; padding: 0px;" /><br style="margin: 0px; padding: 0px;" /><br style="margin: 0px; padding: 0px;" />
下面我们可以设置相应的router访问这个验证码图片, 修改router.php:
<code class="php" style="margin: 0px; padding: 0px;">Route::get(<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(163, 21, 21);">'kit/captcha/{tmp}', <span class="hljs-string" style="margin: 0px; padding: 0px;">'KitController@captcha');</span></span></code>
现在可以通过具体的url,可以访问看到这张图片了
0 0
- laravel 生成验证码的方法
- laravel 生成验证码的方法
- laravel 生成验证码的方法
- Laravel 下生成验证码的类
- 生成验证码的方法
- 生成验证码的方法
- 生成验证码方法--
- 验证码生成方法
- Jsp页面验证码的生成方法
- jsp生成页面验证码的方法
- 2010.6.10 生成验证码的方法
- 2010.6.10 生成验证码的方法
- java生成登录验证码的方法
- 一个简单的验证码生成方法
- 自动生成验证码图像的方法
- 网页数字验证码的生成方法
- Jsp生成页面验证码的方法
- 生成短信验证码的方法
- kinect脚本部分翻译/注释
- 原生js代码实现图片放大境效果
- PHP MySQLi 增删改查
- HDU 1503 Advanced Fruits (递推)
- 基于HTTPS的双向认证实现
- laravel 生成验证码的方法
- 第八周扩展实践
- Android群英传--动画机制与技巧(一)
- Running Mesos - Getting Started
- 解决连接mongoDB出现问题:MongoDB : Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused
- typedef int datatype 的用意
- JAVA常用设计模式(1)单例模式
- firstDay
- leetCode练习(103)