关于xampp环境下thinkphp5二维码的生成方法
发布时间 - 2021-02-15 00:00:00 点击率:次xampp环境下thinkphp5二维码的生成
前言
由于团队功能需要,我们需要用php做一个能根据我们的给出的URL生成二维码的action,过程曲折,做出来之后在这里总结一下。
开始入手
开始的时候,走了错误的方向,当时的想法:既然要生成二维码,那就要知道二维码的生成机制,于是我在网上搜二维码,得到了如下结果:
我粗略读了一遍之后顿悟: 显然,这不是我想要的(如果研究这东西,估计未来几周不用干别的了)
步入正轨
我虽然走错了方向,但是也简单的了解了二维码这个东西,那么我们需要的功能该如何实现呢?这次我决定简单粗暴一点
谷歌诚不欺我,在我之前已经有人写好了这些个功能,于是我开始步入正轨。
整体思路
- 我们需要的功能在网上已经有人用php写好了,就像我们引用think里面的库一样,我们只要把网上能生成二维码的库下载下来,然后引用它,就能快捷便利的生成二维码了。思路确定了,开始干活。
笔者发现了两种办法,最后使用了第二种
方法一:Composer与endroid/QrCode
- 提到php下载第三方库,就必须提到composer了,这是php的一个贼厉害的库管理工具,可以帮助我们下载网上的其他类库,关于这个神奇的东西,官方文档当中也有介绍(如下图)
- 目前笔者用的是windows环境,按照官方文档当中的链接下载好,开始快乐的一路next,然后问题就来了
这是我在网上找到的照片(源自菜鸟教程:composer安装),我安装的时候,并没有地址出现,于是我就懵了,这是什么意思?
思考了一下,我们安装的这个管理工具是和php联系的,并且需要找到菜鸟教程图片当中的php.exe文件,于是引出了下面的问题:php在哪里?
-
XAMPP
百度百科:XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。由此可知,我们使用的xampp里面集成了php,下一步,开始找文件
找到文件,安装完成,在我们的thinphp5文件夹下,输入指令来安装好第三方库
$ composer require endroid/qr-code这样,我们的库文件就加载完毕,进行代码开发的话,大家可以参考这篇博客
http://www.cnbreak.org/biancheng/thinkphp5/wechatwebpage/760.html
方法二:利用phpqrcode
笔者用的是这个方法,用起来也相对简单(不过在thinkphp6貌似没办法使用了),我们在网上直接下载第三方库
下载链接https://sourceforge.net/projects/phpqrcode/files/releases
官方说明文档 http://phpqrcode.sourceforge.net/docs/html/annotated.html
下载完毕后
注意:一定要是extends目录
我们用composer下载好的库在vender里面,而外面下载的第三方库只有放在extends里面才会起作用。
如下是第二种方法的代码
function qrcode($level = 'L', $size = 4){
// 导入Phpqrcode插件文件require_once EXTEND_PATH.'phpqrcode/phpqrcode.php';
//设置url
$url1 = 'https://www.baidu.com/s?wd=666&rsv_spt=1&rsv_iqid=0xfea0cab90000241d&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_dl=ib&rsv_sug3=4&rsv_sug1=3&rsv_sug7=100&rsv_sug2=0&rsv_btype=i&inputT=528&rsv_sug4=1203';
// 容错级别
$errorCorrectionLevel = $level;
// 生成图片大小
$matrixPointSize = intval($size);
// 生成二维码图片
$object = new QRcode();
// 这个一定要加上,清除缓冲区
ob_end_clean();
// 第二个参数false的意思是不生成图片文件,如果你写上‘picture.png’则会在根目录下生成一个png格式的图片文件
$object->png($url1, false, $errorCorrectionLevel, $matrixPointSize, 2);
}相关参数的意思:
- $text 就是url参数
- $
outfile 默认否,不生成文件,只返回二维码图片,否则需要给出保存路径 - $level 二维码容错率,默认L(7%)、M(15%)、Q(25%)、H(30%)
- $size 二维码图片大小,默认4
- $margin 二维码空白区域大小
- $saveabdprint 二维码保存并显示,$outfile必须传路径
- $back_color 背景颜色
- $fore_color 绘制二维码的颜色
- tip:颜色必须传16进制的色值,并把“#”替换为“0x”; 如 #FFFFFF => 0xFFFFFF
总结
我们想要实现一个功能的时候,一般来说在我们之前都会有人已经写出这个东西来了,首先自己去研究这个功能的实现思路,然后去想办法,找到相关的文档方法,就可以实现功能了。
# php
# perl
# composer
# mysql
# html
# thinkphp
# .net
# margin
# windows
# apache
# http
# https
# 第三方
# 的是
# 这是
# 文档
# 来了
# 好了
# 菜鸟
# 在网上
# 来安
# 网上
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
js实现获取鼠标当前的位置
微信小程序 五星评分(包括半颗星评分)实例代码
如何构建满足综合性能需求的优质建站方案?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
使用spring连接及操作mongodb3.0实例
香港网站服务器数量如何影响SEO优化效果?
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Linux后台任务运行方法_nohup与&使用技巧【技巧】
WordPress 子目录安装中正确处理脚本路径的完整指南
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
利用python获取某年中每个月的第一天和最后一天
详解Android——蓝牙技术 带你实现终端间数据传输
高防服务器租用如何选择配置与防御等级?
如何在Tomcat中配置并部署网站项目?
如何快速搭建高效简练网站?
Python制作简易注册登录系统
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
如何登录建站主机?访问步骤全解析
用v-html解决Vue.js渲染中html标签不被解析的问题
如何快速打造个性化非模板自助建站?
Laravel如何使用查询构建器?(Query Builder高级用法)
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
活动邀请函制作网站有哪些,活动邀请函文案?
在Oracle关闭情况下如何修改spfile的参数
如何在万网开始建站?分步指南解析
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
想要更高端的建设网站,这些原则一定要坚持!
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
Laravel如何生成URL和重定向?(路由助手函数)
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
网站建设要注意的标准 促进网站用户好感度!
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
如何在橙子建站上传落地页?操作指南详解
如何在云指建站中生成FTP站点?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
深圳网站制作平台,深圳市做网站好的公司有哪些?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Laravel怎么实现模型属性的自动加密
如何基于PHP生成高效IDC网络公司建站源码?


outfile 默认否,不生成文件,只返回二维码图片,否则需要给出保存路径