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 和 COM
Oct 09 PHP
如何在PHP中使用Oracle数据库(1)
Oct 09 PHP
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
php 禁止页面缓存输出
Jan 07 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
PHP关联链接常用代码
Nov 05 PHP
php如何调用webservice应用介绍
Nov 24 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
May 11 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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/11/06 PHP
php安装swoole扩展的方法
2015/03/19 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
Node.js事件驱动
2015/06/18 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
python使用matplotlib绘图时图例显示问题的解决
2017/04/27 Python
Python自动化操作实现图例绘制
2020/07/09 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
Python之多进程与多线程的使用
2021/02/23 Python
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
优秀班集体先进事迹材料
2014/05/28 职场文书
理发店策划方案
2014/06/05 职场文书
迎七一演讲稿
2014/09/12 职场文书
员工加薪申请报告
2015/05/15 职场文书
浅谈python中的多态
2021/06/15 Python
Selenium浏览器自动化如何上传文件
2022/04/06 Python