php 实现二维码生成(支持任意php框架)

一:插件安装

这里我们使用到了liheng/hart-qr-code插件

liheng/hart-qr-code插件github地址:https://github.com/LiHengc/HartCode

composer require liheng/hart-qr-code

二:简单使用

1:生成简单的二维码

//二维码初始化,如果你想要保存二维码,将此方法的第三个参数设置为true
$hartqrCode = new HartQrcode('http://www.wj0511.com');
//创建原始二维码
$hartqrCode->create_qrcode($size = 200);
//获取原始二维码
$hartqrCode->get_qrcode();

执行上述代码后发现报错了:

image.png

发现这是由于字体文件的目录错了即常量vendOR_PATH参数值有问题,插件中常量vendOR_PATH值为我的web目录地址,但是我的liheng/hart-qr-code插件插件位置在我的vendor目录下,我的vendor目录在我想录的根目录下,所以这里我们需要重新定义下常量vendOR_PATH参数值,即:

define('vendOR_PATH', dirname($_SERVER['DOCUMENT_ROOT']) . DIRECTORY_SEParaTOR . 'vendor' . DIRECTORY_SEParaTOR);
//二维码初始化,如果你想要保存二维码,将此方法的第三个参数设置为true
$hartqrCode = new HartQrcode('http://www.wj0511.com');
//创建原始二维码
$hartqrCode->create_qrcode($size = 200);
//获取原始二维码
$hartqrCode->get_qrcode();

这时候我们就可以获取生成二维码

image.png

2:生成带背景的二维码

define('vendOR_PATH', dirname($_SERVER['DOCUMENT_ROOT']) . DIRECTORY_SEParaTOR . 'vendor' . DIRECTORY_SEParaTOR);
//二维码初始化,第三个参数设置为true,保存二维码文件
$hartqrCode = new HartQrcode('http://www.wj0511.com', './water.jpg');
//创建原始二维码 必须
$hartqrCode->create_qrcode($size = 100);
//创建带背景图的二维码
/*
 * $x = 260; x轴
 * $y = 700; y轴
 * $qrcode_size = 300; 重新定义二维码大小
 */
$hartqrCode->create_bg_qrcode($x = 10, $y = 10, $qrcode_size = 100);
//输出带背景图的二维码
$hartqrCode->get_bg_qrcode();

生成二维码如下:

image.png

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...