小编给大家分享一下xampp环境下thinkphp5如何生成二维码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
xampp环境下thinkphp5二维码的生成
前言
由于团队功能需要,我们需要用php做一个能根据我们的给出的URL生成二维码的action,过程曲折,做出来之后在这里总结一下。
开始入手
开始的时候,走了错误的方向,当时的想法:既然要生成二维码,那就要知道二维码的生成机制,于是我在网上搜二维码,得到了如下结果:

我粗略读了一遍之后顿悟:
显然,这不是我想要的(如果研究这东西,估计未来几周不用干别的了)
步入正轨
我虽然走错了方向,但是也简单的了解了二维码这个东西,那么我们需要的功能该如何实现呢?这次我决定简单粗暴一点

谷歌诚不欺我,在我之前已经有人写好了这些个功能,于是我开始步入正轨。
整体思路
笔者发现了两种办法,最后使用了第二种
方法一:Composer与endroid/QrCode


这是我在网上找到的照片(源自菜鸟教程:composer安装),我安装的时候,并没有地址出现,于是我就懵了,这是什么意思?
思考了一下,我们安装的这个管理工具是和php联系的,并且需要找到菜鸟教程图片当中的php.exe文件,于是引出了下面的问题: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
以上是“xampp环境下thinkphp5如何生成二维码”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!