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 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
php读取3389的脚本
May 06 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
PHP将字符分解为多个字符串的方法
Nov 22 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
thinkphp3.2.3 分页代码分享
Jul 28 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
php实现将数据做成json的格式给前端使用
Aug 21 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文本数据库的搜索方法
2006/10/09 PHP
如何利用php+mysql保存和输出文件
2006/10/09 PHP
用PHP和ACCESS写聊天室(九)
2006/10/09 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
python常用数据重复项处理方法
2019/11/22 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
求职简历推荐信范文
2013/12/02 职场文书
综合办公室个人的自我评价
2013/12/22 职场文书
国际会议邀请函范文
2014/01/16 职场文书
《金孔雀轻轻跳》教学反思
2014/04/20 职场文书
员工福利申请报告
2015/05/15 职场文书
《西门豹》教学反思
2016/02/23 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技