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

使用 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="使用微信扫描支付" >';

收藏
打赏
FishV-App 小程序
上一篇
PHP 异常处理
下一篇
像素鱼丸
160 文章
2 评论
4 喜欢
最新文章

VooShop 商城主题

主题简介 Vooshop 是一个简单精美的 WordPress 主题,支持自适应、暗黑模式、多语言等功能,可以用于企业、团体、自由职业者或更广泛的主页。 Vooshop:回归 WooCommerce 的纯粹与极速 零冗余代码,零多余功能。一个完全依赖 WooCommerce 原生能力的轻量级主题。 Vooshop 不做 WooCommerce 做不到的事,我们只负责让它跑得更快。 市面上的主题总试 […]

XZhan 主题

主题简介 XZhan 主题(中文名称:小站主题)是一款 WordPress 企业主题,支持自适应、暗黑模式等功能,可快速构建高质量的企业网站。   主题特色 支持白天与暗黑模式 自适应设计,兼容多种主流浏览器 自定义主色调 LOGO扫光动画 自定义SMTP支持 内置SEO功能 文章支持点赞、分享和海报生成 丰富的小工具 侧边栏粘性滚动 简介的主题设置面板 主题设置可导入和备份 多级子菜单 […]

StarFish 配置框架

一个轻量级的 WordPress 选项框架插件,通过配置化的方式,快速为 WordPress 主题或插件生成后台设置页面。 ✨ 特性 🎯 配置驱动 UI:只需定义数组配置,自动生成完整的表单界面 📱 多页面架构:支持多个独立的设置页面 🎨 丰富的字段类型:包含 15+ 种常用字段类型 🔗 字段依赖系统:实现字段间的联动效果 ✅ 数据验证与清理:自动进行安全清理,防止 XSS 攻击 🚀 零依赖:使用 […]

什么是幽灵按钮

“幽灵按钮”(Ghost Button)是一种常见的网页与移动应用 UI 设计模式,指背景透明(或半透明)、仅通过边框(border)和文字(text)定义的按钮,视觉上“若隐若现”,仿佛“幽灵”一般——因此得名。 核心特征: 无填充色(transparent background) 背景完全透明(或与父容器同色),不遮挡背后内容。 清晰的边框(通常 1–2px 实线) 如 border: 2px […]
生成中...
扫描二维码
扫描二维码
确认购买

您确定要购买此资源吗?

微信扫码支付

请使用微信扫描二维码完成支付

订单号:

等待支付...