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中将时间差转换为字符串提示的实现代码
Aug 08 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
php多个字符串替换成同一个的解决方法
Jun 18 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
PHP修改session_id示例代码
Jan 08 PHP
PHP实现货币换算的方法
Nov 29 PHP
检测codeigniter脚本消耗内存情况的方法
Mar 21 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
PHP实现百度人脸识别
May 06 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框架排名
2013/07/04 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
实例讲解php数据访问
2016/05/09 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
js实现计算器功能
2020/08/10 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
Python字符串格式化输出代码实例
2019/11/22 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
办公室前台岗位职责范本
2013/12/10 职场文书
小班幼儿评语大全
2014/04/30 职场文书
事业单位聘任报告
2015/03/02 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
Redis RDB技术底层原理详解
2021/09/04 Redis