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在哪里?

GentleAI
GentleAI

GentleAI是一个高效的AI工作平台,为普通人提供智能计算、简单易用的界面和专业技术支持。让人工智能服务每一个人。

下载
  • 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

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

162

2023.12.25

mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

686

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

514

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

287

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

519

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

267

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

392

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

542

2023.08.11

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

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

精品课程

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

共137课时 | 13.4万人学习

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

共6课时 | 11.3万人学习

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

共13课时 | 1.0万人学习

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

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