ThinkPHP5使用phpqrcode生成二维码

生成指定跳转地址二维码图片:

首先将下载好的phpqrcode.php文件放到指定目录内(我这里用的放在public/phpqrcode目录下),准备调用
之后控制器中调用

    public function qrcode(){require_once "./phpqrcode/phpqrcode.php";	//引入类库文件$value = "http://www.baidu.com";	//扫码跳转的地址,二维码内容$errorCorrectionLevel = 'L';  		//容错级别$matrixPointSize = 5;      			//生成图片大小//生成二维码图片// 判断是否有这个文件夹  没有的话就创建一个if(!is_dir("yyzs_qrcode")){// 创建文件夹mkdir("yyzs_qrcode");}//设置二维码文件名$filename = 'yyzs_qrcode/'.time().rand(10000,9999999).'.png';//生成二维码\QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);//转换成base64数据$image_data = chunk_split(base64_encode(fread(fopen($filename, 'r'), filesize($filename))));//获取当前域名$domain = request()->domain();$url = $domain.'/'.$filename;print_r($url);	//输出生成的二维码图片地址}

生成结果如下
在这里插入图片描述
扫码接入百度首页

二:很多时候需要将相关二维码放置在一张背景图上,那么该如何操作呢?

    /*** 在背景图上生成二维码* $bg_img    背景图地址* $url       二维码内容url* $x   二维码在背景图片上位置的左边距,单位:px (例:436)* $y   二维码在背景图片上位置的上边距,单位:px (例:1009)* $qrcode_size  二维码(正方形)的尺寸,单位:px (例:238)* $white_edge   二维码白边大小* $echo_path   生成的二维码海报图片存放路径**/public function getActivityImg(){$bg_img='https://ptpack.iptzx.com/static/yyszs/13901743757.jpg';$x=3000;$y=720;$qrcode_size=256;$white_edge=0;include_once("./phpqrcode/phpqrcode.php");      //引入类库文件$errorCorrectionLevel = QR_ECLEVEL_L;           //容错级别$matrixPointSize = 2;                           //生成二维码图片大小$qrcode = "qrcod.png";							//用来存放二维码的变量,不是实际图片$value= "http://www.baidu.com";	//扫码跳转的地址,二维码内容$echo_path='yyzs_qrcode/'.time().rand(10000,9999999).'.png';//生成二维码图片//参数内容:二维码储存内容,生成存储,防错等级,二维码大小,白边大小\QRcode::png($url, $qrcode, $errorCorrectionLevel, $matrixPointSize, $white_edge);	//我这个白边大小是0,因为加上白边控制不了大小,不能完美契合背景图(白边可以让设计搞^.^)//合并背景图和二维码$background = imagecreatefromstring(file_get_contents($bg_img));	//资源$qrcode_res = imagecreatefromstring(file_get_contents($qrcode));	//资源list($src_w, $src_h) = getimagesize($qrcode);//参数内容:目标图象连接资源,源图象连接资源,目标X坐标点,目标Y坐标点,源的X坐标点,源的Y坐标点,目标宽度,目标高度,源图象的宽度,源图象的高度(参数有疑问的话到:https://www.php.net/manual/zh/function.imagecopyresampled.php 去看,其他博客里瞎写)imagecopyresampled($background, $qrcode_res, $x, $y, 0, 0, $qrcode_size, $qrcode_size, $src_w, $src_h);//输出到本地文件夹,返回生成图片的路径if(!is_dir(dirname($echo_path))){mkdir(dirname($echo_path), 0755, true);
//            chown(dirname($echo_path), 'nobody');
//            chgrp(dirname($echo_path), 'nobody');}imagepng($background,$echo_path);	//把生成的背景图+二维码资源 放到了目标路径下imagedestroy($background);imagedestroy($qrcode_res);return $echo_path;	//生成图片的结果地址}

效果如下如下:
在这里插入图片描述
扫码即可接入百度页面

参考:
ThinkPHP5使用phpqrcode生成二维码
使用phpqrcode.php生成二维码并合并到背景图片上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/21770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv-33 图像平滑处理-中值滤波cv2.medianBlur()

中值滤波是一种常见的图像处理滤波技术,用于去除图像中的噪声。它的原理是用一个滑动窗口(也称为卷积核)在图像上移动,对窗口中的像素值进行排序,然后用窗口中像素值的中值来替换中心像素的值。这样,中值滤…

SHELL——备份脚本

编写脚本,使用mysqldump实现分库分表备份。 1、获取分库备份的库名列表 [rootweb01 scripts]# mysql -uroot -p123456 -e "show databases;" | egrep -v "Database|information_schema|mysql|performance_schema|sys" mysql: [Warning] Using …

游戏开发人员如何从 Splashtop 中受益

游戏开发时代在不断发展,远程办公、协作和高性能需求变得越来越普遍。因此,对复杂工具的需求不断增加,这些工具不仅可以满足这些需求,还可以为开发人员提供无缝体验。 其中一个工具是 Splashtop Business Access Performance&…

Redis持久化两种方案以及对比差异

1.1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为R…

2023网络安全学习路线 非常详细 推荐学习

首先咱们聊聊,学习网络安全方向通常会有哪些问题 1、打基础时间太长 学基础花费很长时间,光语言都有几门,有些人会倒在学习 linux 系统及命令的路上,更多的人会倒在学习语言上; 2、知识点掌握程度不清楚 对于网络安…

微信多开(双开三开均可,且不局限于微信,其他设备亦可)

1.鼠标右键“微信”,属性 如上图,自动选取的,别动,然后CtrlC,,,,结果如下 "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" 2.创建文本,电脑桌面空白处单击,新建,文本档案&#…

小白玩转浏览器开发者工具—F12(超详细)

目录 1、检查元素:🚀 2、修改样式:🛫 3、调试代码:👑 4、网络分析:🚂 5、控制台输出:🚁 6、移动设备模拟:🎨 7、缓存管理&…

“单片机定时器:灵活计时与创新功能的关键“

学会定时器的使用对单片机来说非常重要,因为它可以帮助实现各种时序电路。时序电路在工业和家用电器的控制中有广泛的应用。 举个例子,我们可以利用单片机实现一个具有按钮控制的楼道灯开关。当按钮按下一次后,灯会亮起并持续3分钟&#xff…

FFmpeg常见命令行(一):FFmpeg工具使用基础

前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》。本文是Android音视频任务列表的其中一个, 对应的要学习的内容是:FFmpe…

无涯教程-Lua - 条件判断

if结构要求程序员确定一个或多个要由程序判断或测试的条件,以及要确定的条件为真的情况下要执行的一条或多条语句,如果条件为真,则执行指定语句,如果条件为假,则执行其他语句。 Lua编程语言假定布尔值 true 和 non-nil…

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(六)

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python面试专栏:《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读,一起进步!🌟🌟🌟 …

【2023】Git版本控制-远程仓库详解

目录 创建远程仓库向远程仓库推送数据文件从第二台主机本地拉取远程仓库数据第一台主机同步远程仓库数据tag标签git忽略文件 Git远程仓库是Git版本控制系统的一个概念,它是一个存储Git代码的远程服务器。 你可以将本地Git仓库上传到远程仓库,以便与其他…

【机器学习】Classification using Logistic Regression

Classification using Logistic Regression 1. 分类问题2. 线性回归方法3. 逻辑函数(sigmod)4.逻辑回归5. 决策边界5.1 数据集5.2 数据绘图5.3 逻辑回归与决策边界的刷新5.4 绘制决策边界 附录 导入所需的库 import numpy as np %matplotlib widget imp…

“RISC-V成长日记” blog发布,第一个运行在RISC-V服务器上的blog?

尽管推特、公众号、微博、抖音等社交平台风靡一时,但blog(博客)在全世界依然经久不衰,尤其是在技术领域。对于博主而言,博客是他们独立创作的天地,可以随时更新内容和故事,确保素材的时效性。此…

IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介

系列文章目录 IDEA上面书写wordcount的Scala文件具体操作 IDEA创建项目的操作步骤以及在虚拟机里面创建Scala的项目简单介绍 目录 系列文章目录 前言 一 准备工作 1.1 安装Maven 1.1.1 Maven安装配置步骤 1.1.2 解压相关的软件包 1.1.3 Maven 配置环境变量 1.1.4 配…

[Docker实现测试部署CI/CD----相关服务器的安装配置(1)]

目录 0、CI/CD系统最终架构图规划IP地址 1、git配置Git下载pycharm配置gitidea配置git 2、GitLab安装与配置主机要求拉取镜像定义 compose.yml启动gitlab浏览器访问并修改密码查看登录密码修改密码 3、SonarQube 安装与配置拉取镜像修改虚拟内存的大小启动SonarQube登录 SonarQ…

mac pd安装ubuntu并配置远程连接

背景 一个安静的下午,我又想去折腾点什么了。准备学习一下k8s的,但是没有服务器。把我给折腾的,在抱怨了:为什么M系列芯片的资源怎么这么少。 好在伙伴说,你可以尝试一下ubantu。于是,我只好在我的mac上安…

软件外包开发的GO语言特点

Go语言(也称为Golang)是由Google开发的一种编程语言。它具有许多特点,使其成为许多项目范围的优秀选择。Go语言适用于需要高性能、并发和简洁易读的项目,特别是面向网络和分布式应用的项目。今天和大家分享项目的特点及适用的项目…

【深度学习】SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking,论文

论文:https://arxiv.org/abs/2211.08824 代码:https://github.com/WWangYuHsiang/SMILEtrack 文章目录 AbstractIntroductionRelated WorkTracking-by-DetectionDetection methodData association method Tracking-by-Attention Methodology架构概述外观…

TensorFlow项目练手(三)——基于GRU股票走势预测任务

项目介绍 项目基于GRU算法通过20天的股票序列来预测第21天的数据,有些项目也可以用LSTM算法,两者主要差别如下: LSTM算法:目前使用最多的时间序列算法,是一种特殊的RNN(循环神经网络)&#xf…