chillerlan/php-qrcode

一个用户友好的API的二维码生成器和读取器。PHP 8.2+

资助包维护!
Ko-Fi

安装次数: 12,522,714

依赖项: 162

建议者: 5

安全: 0

星标: 1,941

关注者: 45

分支: 288

公开问题: 7

5.0.2 2024-02-27 14:37 UTC

README

一个基于Kazuhiko Arase实现的PHP二维码生成器,已命名空间化、整理、改进以及其他内容。
它还包含一个基于PHP端口ZXing库的二维码读取器。

注意:现在在NPM上还有一个javascript端口: @chillerlan/qrcode

PHP Version Support Packagist version Continuous Integration CodeCov Codacy Packagist downloads Documentation

概览

特性

  • 创建 模型2二维码,版本1到40
  • 支持 ECC等级 L/M/Q/H
  • 混合模式支持(在二维码符号内可以组合编码模式)。支持的模式
    • 数字
    • 字母数字
    • 8位二进制
    • 13位双字节
      • 汉字(日语,Shift-JIS)
      • 汉字(简体中文,GB2312/GB18030),如GBT18284-2000中定义
  • 灵活、易于扩展的输出模块,内置以下输出格式支持
  • 二维码读取器(通过GD和ImageMagick)

要求

对于二维码读取器,需要 ext-gdext-imagick

文档

重要:请使用与您安装的 php-qrcode 版本匹配的分支中的示例(v4.xv5.xdev-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" />';

等等,那是什么?请再次,慢一点!请参阅手册中的高级使用。还可以查看示例文件夹中的更多使用示例在此

QR codes are awesome!

读取二维码

使用内置的二维码读取器非常简单

// 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!
}

无耻的广告

嗨,请查看我的一些其他项目,这些项目比二维码酷得多!

免责声明!

我对熔化的 CPU、误导性应用程序、失败的登录等不承担责任。请自行承担风险!

许可声明

商标声明

"QR Code" 一词是 DENSO WAVE INCORPORATED 的注册商标
https://www.qrcode.com/en/faq.html#patentH2Title