0

0

关于xampp环境下thinkphp5二维码的生成方法

藏色散人

藏色散人

发布时间:2021-02-15 10:13:05

|

3416人浏览过

|

来源于segmentfault

转载

xampp环境下thinkphp5二维码的生成

前言

由于团队功能需要,我们需要用php做一个能根据我们的给出的URL生成二维码的action,过程曲折,做出来之后在这里总结一下。

开始入手

开始的时候,走了错误的方向,当时的想法:既然要生成二维码,那就要知道二维码的生成机制,于是我在网上搜二维码,得到了如下结果:
1568a5905fc47d66304ef9ceb28cf15.png

我粗略读了一遍之后顿悟:
显然,这不是我想要的(如果研究这东西,估计未来几周不用干别的了)

步入正轨

我虽然走错了方向,但是也简单的了解了二维码这个东西,那么我们需要的功能该如何实现呢?这次我决定简单粗暴一点

ae2e9c4aa41223b037b043d4908de5d.png

立即学习PHP免费学习笔记(深入)”;

谷歌诚不欺我,在我之前已经有人写好了这些个功能,于是我开始步入正轨。

整体思路

  • 我们需要的功能在网上已经有人用php写好了,就像我们引用think里面的库一样,我们只要把网上能生成二维码的库下载下来,然后引用它,就能快捷便利的生成二维码了。思路确定了,开始干活。

笔者发现了两种办法,最后使用了第二种

方法一:Composer与endroid/QrCode

  • 提到php下载第三方库,就必须提到composer了,这是php的一个贼厉害的库管理工具,可以帮助我们下载网上的其他类库,关于这个神奇的东西,官方文档当中也有介绍(如下图)

e50859f038683689ea6e1d7179d5bd8.png

  • 目前笔者用的是windows环境,按照官方文档当中的链接下载好,开始快乐的一路next,然后问题就来了

2b688cf3cecb6a8f818b2c96bda6a06.png

这是我在网上找到的照片(源自菜鸟教程:composer安装),我安装的时候,并没有地址出现,于是我就懵了,这是什么意思?

思考了一下,我们安装的这个管理工具是和php联系的,并且需要找到菜鸟教程图片当中的php.exe文件,于是引出了下面的问题:php在哪里?

青鸟内测(手机app封装、托管系统)
青鸟内测(手机app封装、托管系统)

注意:请在linux环境下测试或生产使用 青鸟内测是一个移动应用分发系统,支持安卓苹果应用上传与下载,并且还能快捷封装网址为应用。应用内测分发:一键上传APP应用包,自动生成下载链接和二维码,方便用户内测下载。应用封装:一键即可生成app,无需写代码,可视化编辑、 直接拖拽组件制作页面的高效平台。工具箱:安卓证书生成、提取UDID、Plist文件在线制作、IOS封装、APP图标在线制作APP分发:

下载
  • XAMPP

    百度百科:XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。由此可知,我们使用的xampp里面集成了php,下一步,开始找文件
    391a1b554d554d9729bd71a81bbf2fc.png

找到文件,安装完成,在我们的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

下载完毕后
3a4dab766551a9e655ebaed5b376339.png

注意:一定要是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);
}

相关参数的意思:

c7d4f4af6d8aa3bf2ff125d200bbe42.png

  • $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速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2525

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1604

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1496

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1416

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1445

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1306

2023.11.13

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

61

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号