基于 Kazuhiko Arase 实现的 PHP 二维码生成器,具有命名空间、清理、改进等功能。
它还具有基于 ZXing 库的 PHP 端口的 QR 码阅读器。
注意: NPM 上现在还有一个 javascript 端口:@chillerlan/qrcode。
创建模型 2 QR 码,版本 1 至 40
支持 ECC 级别 L/M/Q/H
混合模式支持(编码模式可以在 QR 符号内组合)。支持的模式:
汉字(日语,Shift-JIS)
GBT18284-2000 中定义的汉字(简体中文,GB2312/GB18030)
ECI支持
数字
字母数字
8 位二进制
13位双字节:
灵活、易于扩展的输出模块,内置支持以下输出格式:
GdImage(光栅图形:avif、bmp、gif、jpeg、png、webp)
ImageMagick(多种支持的图像格式)
标记类型:SVG、HTML 等。
字符串类型:JSON、纯文本等。
封装后记 (EPS)
通过 FPDF 生成 PDF
QR 码阅读器(通过 GD 和 ImageMagick)
PHP 8.2+
ext-gd
用于基于QRGdImage
输出
安装了 ImageMagick 的ext-imagick
QRImagick
输出所需的ext-fileinfo
setasign/fpdf
用于 PDF 输出模块
替代 GD/ImageMagick 输出的intervention/image
ext-mbstring
选修的:
对于 QR 码阅读器,需要ext-gd
或ext-imagick
!
用户手册位于 https://php-qrcode.readthedocs.io/ (来源)
使用 phpDocumentor 创建的 API 文档可以在 https://chillerlan.github.io/php-qrcode/ 找到
QROptions
容器的文档可以在这里找到: chillerlan/php-settings-container
重要提示:请使用与您安装的 php-qrcode 版本( v4.x、v5.x、dev-main )相匹配的分支中的示例!
请参阅安装指南了解更多信息!
composer require chillerlan/php-qrcode
{ "require": { "php": "^8.2", "chillerlan/php-qrcode": "dev-main#<commit_hash>" } }
注意:用版本约束替换dev-main
,例如^5.0
- 请参阅发行版以获取有效版本。
我们希望将移动验证器的 URI 编码为 QRcode 图像:
$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net';// 快速简单:echo '<img src="'.(new QRCode)->render($data).'" alt="二维码"/>';
等等,那是什么?请再慢一点!请参阅手册中的高级用法。另外,请查看示例文件夹以获取更多使用示例。
使用内置的二维码阅读器非常简单:
// 将读取器包装在 try/catch 块中通常是个好主意,因为它最终会抛出 try{ $result = (new QRCode)->readFromFile('path/to/file.png'); // -> DecoderResult// 您现在可以使用结果实例...$content = $result->data; $matrix = $结果->getMatrix(); // -> QRMatrix// ...或者简单地将其转换为字符串以获取内容:$content = (string)$result; }catch(Throwable $e){ // 糟糕!}
你好,请查看我的其他一些比二维码酷得多的项目!
js-qrcode - 该库的 javascript 端口
php-authenticator - Google 身份验证器实现(请参阅身份验证器示例)
php-httpinterface - PSR-7/15/17/18 实现
php-oauth - OAuth 1/2 客户端库,完全兼容 PSR-7/PSR-17/PSR-18
php-database - 适用于 MySQL、Postgres、SQLite、MSSQL、Firebird 的数据库客户端和查询生成器
php-tootbot - Mastodon 机器人库(参见@dwil)
我对 CPU 熔化、应用程序误导、登录失败等不承担任何责任。使用风险自负!
此代码的部分内容从 ZXing 项目移植到 PHP,并根据 Apache 许可证版本 2.0 获得许可。
该文档根据 Creative Commons Attribution 4.0 International (CC BY 4.0) 许可证获得许可。
“QR Code”一词是DENSO WAVE INCORPORATED的注册商标
https://www.qrcode.com/en/faq.html#patentH2Title