laravel5.4生成验证码的实例讲解


Posted in PHP onAugust 05, 2017

总结:本篇文章介绍使用gregwar/captcha实现验证码的具体操作步骤,以及可能遇到的问题和解决办法。

操作步骤:

1, 在laravel5.4项目根目录下找到 composer.json 这个文件,

laravel5.4生成验证码的实例讲解

添加

"gregwar/captcha": "1.*" 到composer.json这个文件中,如下图所示。

laravel5.4生成验证码的实例讲解

2. 然后打开命令行,找到项目的根目录,运行composer update,

laravel5.4生成验证码的实例讲解

可以看到这个扩展库已经下载好了,

3.接下来,就可以正常使用验证码了,先测试验证码是否可以正常显示出来,

先定义路由:

laravel5.4生成验证码的实例讲解

然后在控制层里新建一个codeController.php,

<?php 
namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

//引用对应的命名空间
use Gregwar\Captcha\CaptchaBuilder;
use Session;
class CodeController extends Controller{
 public function captcha($temp)
 {
  $builder = new CaptchaBuilder();
  $builder->build(150,32);
  $phrase = $builder->getPhrase();
  //把内容存入session
  Session::flash('milkcaptcha', $phrase); //存储验证码
  ob_clean();
  return response($builder->output())->header('Content-type','image/jpeg');
 }

}

然后在浏览器里访问之前定义好的路由,就能看到验证码了

laravel5.4生成验证码的实例讲解

另外,还可以在composer.json中这样写,

laravel5.4生成验证码的实例讲解

还是在项目根目录执行composer update,然后在执行composer dump-autoload 命令。

同样可以达到效果。

最后,说一下我曾经遇到的问题,网上好多生成laravel验证码图片都是这样写的,

public function code($tmp)
{
//生成验证码图片的Builder对象,配置相应属性
$builder = new CaptchaBuilder;
//可以设置图片宽高及字体
$builder->build($width = 100, $height = 40, $font = null);
//获取验证码的内容
$phrase = $builder->getPhrase();
//把内容存入session
Session::flash('milkcaptcha', $phrase);
//生成图片
header("Cache-Control: no-cache, must-revalidate");
header('Content-Type: image/jpeg');
$builder->output();
}

我照着试了试,结果验证码图片显示乱码,不显示图片,如下图:

laravel5.4生成验证码的实例讲解

后来改了改

public function captcha($temp)
 {
  $builder = new CaptchaBuilder();
  $builder->build(150,32);
  $phrase = $builder->getPhrase();
  //把内容存入session
  Session::flash('milkcaptcha', $phrase); //存储验证码
  ob_clean();
  return response($builder->output())->header('Content-type','image/jpeg');
 }

就可以正常显示了。

以上这篇laravel5.4生成验证码的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
PHP运行模式的深入理解
Jun 03 PHP
php实现执行某一操作时弹出确认、取消对话框
Dec 30 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
php生成word并下载代码实例
Mar 15 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 PHP
CakePHP框架Model函数定义方法示例
Aug 04 #PHP
CakePHP框架Model关联对象用法分析
Aug 04 #PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 #PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 #PHP
php7安装yar扩展的方法详解
Aug 03 #PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 #PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 #PHP
You might like
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
js获取单选按钮的数据
2006/11/27 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
Python 比较两个数组的元素的异同方法
2017/08/17 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
django正续或者倒序查库实例
2020/05/19 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
详解python程序中的多任务
2020/09/16 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
促销活动策划方案
2014/01/12 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
施工安全汇报材料
2014/08/17 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js
Java设计模式之代理模式
2022/04/22 Java/Android