使用 PHP QR Code 生成二维码
像素鱼丸
2024-09-06
744
0

使用 PHP 生成二维码常用两个库, PHPQRCode 和 PHP QR Code,本文介绍 PHP QR Code。

PHP QR Code encoder 是一个用于生成QR码的开源PHP库。它可以用来在PHP应用程序中生成二维码图片。以下是详细的说明,包括如何安装、基本使用以及一些高级配置。

安装

  1. 下载库文件:你可以从其官方网站(https://phpqrcode.sourceforge.net/)或GitHub仓库下载PHP QR Code encoder库。通常,你会得到一个压缩包,里面包含了几个PHP文件和目录结构。
  2. 解压文件:将下载的文件解压到你的项目的某个目录下,比如/libs/phpqrcode/。

基本使用

假设你已经将库文件放置到了/libs/phpqrcode/目录下,下面是生成一个简单二维码的例子:

<?php
// 包含必要的库文件
require_once 'libs/phpqrcode/phpqrcode.php';

// 要编码的数据
$data = 'https://www.example.com';

// 输出文件名
$filename = 'qrcode';

// 生成二维码图片
QRcode::png($data, false, 'L', 5, 2); // 第一个参数为false表示直接输出到浏览器

// 如果你想保存到文件,可以这样做:
// QRcode::png($data, 'output/'.$filename.'.png', 'L', 5, 2);
?>

这段代码会在浏览器中直接输出一个指向https://www.example.com的二维码图片。如果你想将二维码保存到文件中,可以将第一个参数设置为文件的完整路径。

参数说明

  • data:要编码的数据字符串。
  • filename:可选参数,如果提供,则保存为文件;如果不提供(设置为false),则输出到浏览器。
  • level:错误纠正级别,可以是L、M、Q或H,分别代表7%、15%、25%和30%的容错率。
  • size:模块大小,默认是4,可以设置为1到10。
  • margin:边距大小,默认是4,表示每个边有4个模块宽的空白区域。

 

更多示例

// 包含必要的库文件
require_once 'phpqrcode.php';

$value                = 'https://www.baidu.com'; //二维码内容
$errorCorrectionLevel = 'H'; //容错级别
$matrixPointSize      = 6; //生成图片大小
//生成二维码图片
$filename = 'output/' . microtime() . '.png';
\QRcode::png($value, $filename, $errorCorrectionLevel, $matrixPointSize, 2);

$logo = 'logo.png'; //准备好的logo图片
$QR   = $filename; //已经生成的原始二维码图

if (file_exists($logo)) {
    $QR             = imagecreatefromstring(file_get_contents($QR)); //目标图象连接资源。
    $logo           = imagecreatefromstring(file_get_contents($logo)); //源图象连接资源。
    $QR_width       = imagesx($QR); //二维码图片宽度
    $QR_height      = imagesy($QR); //二维码图片高度
    $logo_width     = imagesx($logo); //logo图片宽度
    $logo_height    = imagesy($logo); //logo图片高度
    $logo_qr_width  = $QR_width / 4; //组合之后logo的宽度(占二维码的1/5)
    $scale          = $logo_width / $logo_qr_width; //logo的宽度缩放比(本身宽度/组合后的宽度)
    $logo_qr_height = $logo_height / $scale; //组合之后logo的高度
    $from_width     = ($QR_width - $logo_qr_width) / 2; //组合之后logo左上角所在坐标点

    //重新组合图片并调整大小
    /*
     *  imagecopyresampled() 将一幅图像(源图象)中的一块正方形区域拷贝到另一个图像中
     */
    imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
}
//输出图片
imagepng($QR, 'output/qrcode1.png');
imagedestroy($QR);
imagedestroy($logo);
echo '< img src="output/qrcode1.png" alt="使用微信扫描支付" >';

收藏
打赏
Lander 企业主题
上一篇
PHP 异常处理
下一篇
像素鱼丸
148 文章
0 评论
4 喜欢
最新文章

如何使用 WordPress Setting API

使用 WordPress 的 Setting API 是在插件或主题中创建和管理设置页面的标准方式。它提供了一种结构化、安全的方式来保存和获取用户配置的选项。 ✅ 一、Setting API 简介 WordPress 的 Setting API 允许你: 创建设置页面(Settings Page) 注册设置字段(Settings Field) 验证和保存设置数据 使用表单提交来更新设置 ✅ 二、基 […]

详解 WordPress 的评论设置

好的,我们来详细梳理并总结 WordPress 中关于文章评论的两个核心控制层级:全局设置和单篇设置。理解这两者的关系(优先级)是管理网站评论的关键。 1. 全局设置 (Global Settings) —— 网站的“默认规则” 这是整个网站评论系统的总开关和默认行为准则。它决定了新发布的文章默认是什么样子的。 位置:WordPress 后台仪表盘 -> 设置 (Settings) -> […]

wp_handle_comment_submission 函数

wp_handle_comment_submission() 是 WordPress 中用于处理评论提交的核心函数之一。它通常在用户提交评论时被调用,负责验证和处理评论数据,并最终将评论插入到数据库中。 ✅ 函数作用 wp_handle_comment_submission() 的主要功能是: 验证用户提交的评论数据(如评论内容、用户名、邮箱等) 检查是否为垃圾评论(通过 Akismet 或其他过 […]

Mirage 主题 v2.89.0 发布

Mirage 主题 v2.89.0 发布 feat 懒加载图片增加灰色背景颜色 refactor 移除一些无用的js文件 fix 优化卡片列表样式 feat 如果设置里删除logo,就直接显示网站名称 fix 修复pc下拉菜单宽度的一个样式bug fix 修复未登录用户取消喜欢时产生的一个错误 fix 优化 wp_vt_star 表结构 下载地址:https://gitee.com/vthemec […]
生成中...
扫描二维码
扫描二维码
用户登录