TP6使用think-qrcode的show()方法无法正常显示问题
TP6使用think-qrcode的show()方法无法正常显示问题
在进行项目开发的时候遇到了要生成二维码的问题,因为二维码需求比较简单,所以在综合一些第三方库的情况下选择了think-qrcode,这是一款针对ThinkPHP5的二维码生成 SDK,但是在TinkPHP6同样适用。
一、执行命令安装
composer require dh2y/think-qrcode
安装完成后显示下面内容
二、在控制台中使用
<?phpnamespace app\controller;use dh2y\qrcode\QRcode;
use app\BaseController;
use think\facade\Config;class Qr extends BaseController
{public function index(){$code = new QRcode();$res = $code->png('测试',false, 6)->logo(app()->getRootPath() . 'public/static/logo.jpeg')->entry();return $res;}}
可以在“项目名/upload/qrcode/”下找到生成的二维码
三、自定义生成目录
根据提供的README.md文档,需要在config下新建一个qrcode文件
并配置如下
<?php// +----------------------------------------------------------------------
// | 二维码设置
// +----------------------------------------------------------------------return ['cache_dir' =>'public/storage/qrcode', //缓存地址
// 'background'=> app()->getRootPath() . 'public/static/logo.png' //背景图
];
此处注意,要修改一些配置内容,找到QRcode文件,将“ Config::get(‘qrcode.’);”改为“Config::get(‘qrcode’);”删除“.”,否则无法读取qrcode配置文件中的内容
此时再执行控制器方法即可实现自定义路径
四、show()方法遇到的问题
此时当使用show()方法时,页面无法正常显示
<?phpnamespace app\controller;use dh2y\qrcode\QRcode;
use app\BaseController;
use think\facade\Config;class Qr extends BaseController
{public function index(){$code = new QRcode();$res = $code->png('测试',false, 6)->logo(app()->getRootPath() . 'public/static/logo.jpeg')->show();return $res;}}
打开QRcode文件文件查看show()方法
/*** 显示二维码*/public function show(){$url = Request::instance()->domain().'/'.$this->outfile;exit('<img src="'.$url.'"/>');}
点击F12查看文件路径
在thinkphp6中读取public下的内容时默认隐藏public字段,因此删除“/public”对show()方法做如下修改
/*** 显示二维码*/public function show(){$url = Request::instance()->domain().'/'.ltrim($this->outfile,'/public');exit('<img src="'.$url.'"/>');}
修改后再进行访问,即可正常显示
问题完美解决!!!
TP6使用think-qrcode的show()方法无法正常显示问题相关推荐
- Java黑皮书课后题第7章:**7.18(冒泡排序)使用冒泡排序算法编写一个排序方法。编写一个测试程序,读取10个double型的值,调用这个方法,然后显示排序好的数字
**7.18(冒泡排序)使用冒泡排序算法编写一个排序方法.编写一个测试程序,读取10个double型的值,调用这个方法,然后显示排序好的数字 题目 题目描述 冒泡排序法 / 下沉排序法 破题 代码 运 ...
- Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字
7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值.编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字 题目 题目描述与运行示例 破题 代码 21.11.11 ...
- 自己封装的一个js方法用于获取显示的星期和日期时间
自己封装的一个js方法用于获取显示的星期和日期时间 /*** 获取用于显示的星期和日期时间* @param date* @returns {string}*/ function getWeek(dat ...
- 【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】
上一个博客讲了怎么用rapidjson读取中文字符串,但是有一个很明显的缺陷 就是不能直接读取数据编辑器导出的数据.下面我们来修复这个bug并且将代码精简到不到原来的一半大小. 上一博客的地址是:[c ...
- 保护眼睛的好方法(电脑显示)
保护眼睛的好方法(电脑显示) 告诉大家一种保护眼睛的好方法: 桌面->右键->属性->外观->高级->项目选择(窗口).颜色(L)选择(其它)将色调改为:85,饱和度:1 ...
- qrcode的使用方法
qrcode.js是一个用于生成二维码图片的插件. 使用时只需写两个函数即可,首先是: function toUtf8(str) { var out, i, len, c; out = "& ...
- net发布的dll方法和类显示注释信息(字段说明信息)[图解]
自己发布的dll添加的另一个项目中突然没有字段说明信息了,给使用带来了很多的不便,原因是为了跨项目引用,所以导致不显示注释信息的,一下是解决这个问题的方法. 在要发布(被引用)的项目上右键 => ...
- php json_encode 替代方法 (亦可显示中文)
json_encode在ajax应用的开发里是必不可少的一个函数,但是json_encode的使用条件是比较苛刻的,需要在php 5.2.0以上并且需要PECL json在1.2.0以上才可以使用. ...
- ecshop首页显示折扣的方法,ecshop商品显示折扣的方法
在网上有很多关于ecshop详细页调用折扣和节省的方法,而首页需要调用折扣的话也可以照葫芦画瓢来修改.整理一下看看是不是可以 首先参考一下详细页添加折扣和节省的方法: 打开程序根目录 includes ...
最新文章
- 手机编程micropython_MicroPython可视化拼插编辑器:让硬件编程更智能!
- 开心一刻,你和导师之间有什么有趣的事情?
- saltstack批量加用户脚本
- vb的GUID生成算法
- cygwin安装skyeye 所需的软件包列表
- 有趣的图说 HashMap,普通人也能看懂
- 物联网 终端设备_您拥有多少个物联网设备?
- HTTP状态码大全(常见 HTTP Status Code 含义查询)
- 【codejam_Round1B_C】Mousetrap
- CSS 盒模型 基本术语解释
- 含蓄的告别,google今日LOG
- 解决问题的能力和个人学习能力总结。
- 使用Qt通过Post发送Json格式数据
- cesium-接入监控视频
- C语言BCC异或效验
- python语言的实验心得体会范文_实验心得体会范文
- 全球及中国标签印刷行业十四五发展形势与需求规模预测报告2022版
- mysql死锁分析工具show engine innodb status
- 数据分析实践——面试官:如果DAU下降如何归因?(以抖音为例)
- 计算机开机时的音乐是什么,电脑开机的那段音乐是什么啊?很好听啊
热门文章
- 泛微OA-年份浏览框增加年份值
- 关于SHADOWS_SCREEN
- lintcode 949. 斐波那契数列 II
- Docker教程(一)安装Docker
- HashMap中的putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict)解读
- linux禁用垂直同步,禁用glxgears的垂直同步
- Android操作响应时间测试方法
- 爬虫练习-12306自动购票升级版
- 扬帆策略|10万亿市场疯狂反攻,撑爆5万人,大牛市要来了?
- 学嵌入式,就是练武功。