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 相关文章推荐
用PHP实现的生成静态HTML速度快类库
Mar 31 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
解析argc argv在php中的应用
Jun 24 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
php htmlentities()函数的定义和用法
May 13 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 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
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
python 提取文件的小程序
2009/07/29 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
python生成任意频率正弦波方式
2020/02/25 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
服务口号大全
2014/06/11 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
写给老师的感谢信
2015/01/20 职场文书
如何写好闭幕词
2019/04/02 职场文书
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js
基于PyQt5制作一个群发邮件工具
2022/04/08 Python