chillerlan / php-qrcode
一个用户友好的API的二维码生成器和读取器。PHP 8.2+
5.0.2
2024-02-27 14:37 UTC
Requires
- php: ^7.4 || ^8.0
- ext-mbstring: *
- chillerlan/php-settings-container: ^2.1.4 || ^3.1
Requires (Dev)
- chillerlan/php-authenticator: ^4.1 || ^5.1
- phan/phan: ^5.4
- phpmd/phpmd: ^2.15
- phpunit/phpunit: ^9.6
- setasign/fpdf: ^1.8.2
- squizlabs/php_codesniffer: ^3.8
Suggests
- chillerlan/php-authenticator: Yet another Google authenticator! Also creates URIs for mobile apps.
- setasign/fpdf: Required to use the QR FPDF output.
- simple-icons/simple-icons: SVG icons that you can use to embed as logos in the QR Code
- dev-main
- v5.0.x-dev
- 5.0.2
- 5.0.1
- 5.0.0
- 5.0-beta
- 4.4.1
- 4.4.0
- v4.3.x-dev
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.1
- 4.0.0
- 3.4.1
- 3.4.0
- 3.3.0
- v3.2.x-dev
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.1
- 3.1.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- v2.0.x-dev
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.9
- 1.0.8
- dev-character-encoding-handler
- dev-qrmatrix-mtype-rework
- dev-v2.0.x-php5
This package is auto-updated.
Last update: 2024-09-17 17:35:24 UTC
README
一个基于Kazuhiko Arase实现的PHP二维码生成器,已命名空间化、整理、改进以及其他内容。
它还包含一个基于PHP端口的ZXing库的二维码读取器。
注意:现在在NPM上还有一个javascript端口: @chillerlan/qrcode。
概览
特性
- 创建 模型2二维码,版本1到40
- 支持 ECC等级 L/M/Q/H
- 混合模式支持(在二维码符号内可以组合编码模式)。支持的模式
- 数字
- 字母数字
- 8位二进制
- 13位双字节
- 汉字(日语,Shift-JIS)
- 汉字(简体中文,GB2312/GB18030),如GBT18284-2000中定义
- 灵活、易于扩展的输出模块,内置以下输出格式支持
- GdImage(光栅图形:avif、bmp、gif、jpeg、png、webp)
- ImageMagick(多种支持的图像格式)
- 标记类型:SVG、HTML等
- 字符串类型:JSON、纯文本等
- 封装PostScript (EPS)
- 通过 FPDF 生成PDF
- 二维码读取器(通过GD和ImageMagick)
要求
- PHP 8.2+
ext-mbstring
- 可选
- 用于基于
QRGdImage
输出的ext-gd
- 安装
ext-imagick
并安装 ImageMagick QRImagick
输出所需的ext-fileinfo
- 用于PDF输出模块的
setasign/fpdf
- 用于替代GD/ImageMagick输出的
intervention/image
- 用于基于
对于二维码读取器,需要 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 进行安装
有关更多信息,请参阅安装指南!
终端
composer require chillerlan/php-qrcode
composer.json
{ "require": { "php": "^8.2", "chillerlan/php-qrcode": "dev-main#<commit_hash>" } }
注意:将 dev-main
替换为 版本约束,例如 ^5.0
- 请参阅 版本发布 以获取有效版本。
快速入门
我们希望将此 URI 编码为用于移动认证器的二维码图像
$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net'; // quick and simple: echo '<img src="'.(new QRCode)->render($data).'" alt="QR Code" />';
等等,那是什么?请再次,慢一点!请参阅手册中的高级使用。还可以查看示例文件夹中的更多使用示例在此。
读取二维码
使用内置的二维码读取器非常简单
// it's generally a good idea to wrap the reader in a try/catch block because it WILL throw eventually try{ $result = (new QRCode)->readFromFile('path/to/file.png'); // -> DecoderResult // you can now use the result instance... $content = $result->data; $matrix = $result->getMatrix(); // -> QRMatrix // ...or simply cast it to string to get the content: $content = (string)$result; } catch(Throwable $e){ // oopsies! }
无耻的广告
嗨,请查看我的一些其他项目,这些项目比二维码酷得多!
- js-qrcode - 此库的 JavaScript 版本
- php-authenticator - Google Authenticator 实现(请参阅 认证器示例)
- 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 License, Version 2.0 许可。
- 文档受 Creative Commons Attribution 4.0 International (CC BY 4.0) License 许可。
商标声明
"QR Code" 一词是 DENSO WAVE INCORPORATED 的注册商标
https://www.qrcode.com/en/faq.html#patentH2Title