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 相关文章推荐
40个迹象表明你还是PHP菜鸟
Sep 29 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
php导入导出excel实例
Oct 25 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
php页面缓存方法小结
Jan 10 PHP
php通过strpos查找字符串出现位置的方法
Mar 17 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
php生成唯一数字id的方法汇总
Nov 18 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
PHP is_array() 检测变量是否是数组的实现方法
Jun 13 PHP
关于php unset对json_encode的影响详解
Nov 14 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内核解析:PHP中的哈希表
2014/01/30 PHP
php时间戳转换的示例
2014/03/31 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
php实现字符串反转输出的方法
2015/03/14 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
修改发贴的编辑功能
2007/03/07 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
JavaScript多线程详解
2015/08/12 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
Python break语句详解
2014/03/11 Python
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
python中os.remove()用法及注意事项
2021/01/31 Python
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
2014全国两会心得体会
2014/03/17 职场文书
执行力心得体会范文
2016/01/11 职场文书
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
基于Python编写一个监控CPU的应用系统
2022/06/25 Python