PHP生成二维码只需安装simplesoftwareio/simple-qrcode库,配置GD和mbstring扩展,用QrCode::size()->generate()等链式方法即可快速生成支持中文、logo嵌入、SVG格式及自定义颜色的二维码。

PHP 生成二维码其实很简单,核心是用现成的库(比如 endroid/qr-code 或 simplesoftwareio/simple-qrcode),不用自己写算法。关键在于环境配置、依赖安装和几行代码调用。
安装 QR Code 库(推荐 simplesoftwareio)
这个库轻量、Laravel 和原生 PHP 都能用,还支持中文、logo 嵌入和多种格式。
- 用 Composer 安装:composer require simplesoftwareio/simple-qrcode
- 确保 PHP ≥ 7.2,已开启 GD 和 mbstring 扩展(多数主机默认开启,本地用 XAMPP/MAMP 一般也自带)
- 如果报错 “Class ‘QrCode’ not found”,检查是否漏了 use SimpleSoftwareIO/QrCode/Facades/QrCode; 或没启用 Laravel 的 Facade(非 Laravel 项目直接用 QrCode::generate() 可能不生效,建议用静态方式)
基础用法:生成 PNG 图片并保存或输出
以下代码适用于原生 PHP(无需框架),生成带中文的二维码:
<?php
require 'vendor/autoload.php';
use SimpleSoftwareIO/QrCode/QrCode;
// 生成二维码并直接输出到浏览器(图片类型为 png)
header('Content-Type: image/png');
echo QrCode::size(300)->generate('欢迎使用 PHP 生成二维码!');
// 或者保存为文件
// QrCode::size(300)->format('png')->generate('https://example.com', 'qrcode.png');
?>
登录后复制
- size(300) 设置宽高为 300px;可链式调用 margin(10) 加白边
- 中文内容默认支持 UTF-8,不用额外转码(但确保 PHP 文件本身是 UTF-8 编码)
- 若要生成 SVG,把 format(‘svg‘) 加上,再配合 ->generate()
进阶技巧:加 logo、改颜色、设置容错级别
增强识别性与美观度,只需多加几个方法:
PHP QR Code

29
PHP QR Code 是一个开源(LGPL)的库,用于生成 QR Code,即二维码。基于 libqrencode C 库,提供了创建 QR Code 条形码图像的 API(PNG、JPEG 依赖于 GD2)。完全使用 PHP 实现。

29
立即学习“PHP免费学习笔记(深入)”;
- 加小 logo(建议尺寸 ≤ 二维码 20%):merge(‘logo.png’, .2, true)
- 改前景色(深色)和背景色(浅色):color(42, 130, 218)->backgroundColor(245, 245, 245)
- 提升容错能力(推荐 L/M 级别):errorCorrection(‘H’)(H=最高,可恢复约 30% 损坏)
- 完整示例:QrCode::size(400)->margin(5)->color(0, 100, 200)->backgroundColor(250, 250, 250)->errorCorrection(‘M’)->merge(‘logo.png’, .15)->generate(‘https://your-site.com’);
常见问题快速排查
生成失败?页面空白?图片显示异常?先看这几个点:
- 空白页 → 检查是否开启了 output_buffering,或前面有空格/echo 输出干扰 header
- 中文乱码 → 确保 PHP 文件编码为 UTF-8(无 BOM),且内容未被 htmlspecialchars 转义
- logo 不显示 → logo 路径错误、格式不支持(只认 PNG)、合并比例过大导致模糊
- 提示 GD 扩展未启用 → 在 phpinfo() 页面搜索 “gd”,或运行 php -m | grep gd 查看
基本上就这些。用对库、配好环境、写清参数,一行 generate 就搞定。不需要懂纠错码原理,也不用画像素点——现代 PHP 开发,就是这么省心。
以上就是PHP二维码生成教学_PHP创建二维码图片示例的详细内容,更多请关注php中文网其它相关文章!
相关标签:
