php实现二维码
PHP 实现二维码生成的方法
PHP 生成二维码可以通过多种方式实现,以下是几种常见的方法:
使用第三方库(如 QRcode)
-
下载 QRcode 库
从 phpqrcode 官网 下载phpqrcode库,或通过 Composer 安装:composer require endroid/qr-code -
生成二维码
使用QRcode::png()方法生成二维码图片:include 'phpqrcode/qrlib.php'; QRcode::png('https://example.com', 'qrcode.png', QR_ECLEVEL_L, 10);参数说明:
- 第一个参数:二维码内容(文本或 URL)。
- 第二个参数:输出文件名(可选,直接输出到浏览器时留空)。
- 第三个参数:容错级别(
QR_ECLEVEL_L、QR_ECLEVEL_M、QR_ECLEVEL_Q、QR_ECLEVEL_H)。 - 第四个参数:二维码尺寸(像素)。
-
直接输出到浏览器
如果不保存文件,直接输出到浏览器:QRcode::png('https://example.com');
使用 Composer 包(如 endroid/qr-code)
-
安装依赖
运行以下命令安装endroid/qr-code:composer require endroid/qr-code -
生成二维码
使用Endroid\QrCode\QrCode类生成二维码:require 'vendor/autoload.php'; use Endroid\QrCode\QrCode; $qrCode = new QrCode('https://example.com'); header('Content-Type: ' . $qrCode->getContentType()); echo $qrCode->writeString(); -
保存为文件
将二维码保存为 PNG 文件:$qrCode->writeFile('qrcode.png');
使用 Google Charts API(无需本地库)
-
调用 API 生成二维码
通过 Google Charts API 生成二维码图片:$url = 'https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=https://example.com'; echo '<img src="' . $url . '" alt="QR Code">'; -
参数说明
chs:二维码尺寸(宽 x 高)。cht:图表类型(固定为qr)。chl:二维码内容。
使用 PHP 扩展(如 Zxing)
-
安装 Zxing 扩展
确保安装了zxing扩展(需编译支持)。 -
生成二维码
使用扩展提供的函数生成二维码:$qr = new Zxing\QrWriter(); $qr->setText('https://example.com') ->setSize(300) ->setMargin(10) ->save('qrcode.png');
注意事项
- 本地库 vs API
本地库(如phpqrcode)无需网络请求,适合高频生成;API 方式依赖网络,适合简单场景。 - 容错级别
容错级别越高,二维码可识别性越强,但占用空间越大。 - 输出格式
支持 PNG、SVG、EPS 等格式,根据需求选择。
以上方法均可实现二维码生成,根据项目需求选择合适的方式。







