PHP 二维码库

使用 PHP 生成二维码

PHP 拥有优秀的二维码库,如 endroid/qr-code 用于现代 Web 应用,chillerlan/php-qrcode 用于轻量级生成。非常适合 Laravel、Symfony 和 WordPress。

安装

使用 Composer 安装 PHP 二维码库。

Composer
composer require endroid/qr-code
Composer (alt)
composer require chillerlan/php-qrcode

使用 PHP 库生成二维码

使用流行的 PHP 二维码库的代码示例。

Basic QR Code with endroid/qr-code
<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;

$qrCode = new QrCode('https://qrcode.fun');
$qrCode->setSize(300);
$qrCode->setMargin(10);

$writer = new PngWriter();
$result = $writer->write($qrCode);

// Save to file
$result->saveToFile('qrcode.png');

// Or output directly
header('Content-Type: ' . $result->getMimeType());
echo $result->getString();
QR Code with Logo (endroid)
<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Logo\Logo;
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\ErrorCorrectionLevel;

$qrCode = new QrCode(
    data: 'https://qrcode.fun',
    size: 300,
    margin: 10,
    foregroundColor: new Color(26, 43, 60),
    backgroundColor: new Color(255, 255, 255),
    errorCorrectionLevel: ErrorCorrectionLevel::High
);

$logo = new Logo(
    path: 'logo.png',
    resizeToWidth: 80
);

$writer = new PngWriter();
$result = $writer->write($qrCode, $logo);
$result->saveToFile('qrcode_logo.png');
QRCode.fun API

通过 API 在 PHP 中生成二维码

从 PHP 使用 cURL 或 Guzzle 调用 QRCode.fun API。

PHP API 集成
<?php
$payload = json_encode([
    'data' => 'https://qrcode.fun',
    'width' => 300,
    'height' => 300,
    'type' => 'png',
    'margin' => 10,
    'dotsOptions' => ['color' => '#1A2B3C', 'type' => 'rounded'],
    'cornersSquareOptions' => ['color' => '#8564C3', 'type' => 'extra-rounded'],
    'backgroundOptions' => ['color' => '#FFFFFF'],
]);

$ch = curl_init('https://qrcode.fun/api/generate-qr-styled');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
// $result['data'] contains the base64 PNG data URL
echo substr($result['data'], 0, 50);

实时二维码预览

立即尝试使用 PHP 生成二维码。

二维码预览

原生库 vs API

比较使用 PHP 二维码库与 QRCode.fun API。

功能原生库QRCode.fun API
设置复杂度Composer 安装 + GD/Imagick通过 cURL 发送单次 HTTP 请求
自定义颜色、徽标、标签(endroid)完整样式:颜色、形状、徽标
离线支持需要互联网
维护Composer 更新始终保持最新
输出格式PNG, SVG, PDF(endroid)PNG, SVG

PHP 二维码使用场景

PHP 应用中二维码的常见场景。

Laravel 与 Symfony

在 Laravel 或 Symfony 控制器中生成二维码,用于用户资料、双因素认证和支付链接。

WordPress 插件

构建 WordPress 插件,为文章、产品和自定义内容类型生成二维码。

电子商务

为产品页面、支付网关、订单追踪和电子收据创建二维码。

PDF 发票

使用 TCPDF 或 FPDF 将二维码嵌入 PDF 发票中,用于支付验证和文档链接。

常见问题

关于使用 PHP 生成二维码的常见问题。

endroid/qr-code 是功能最丰富的选择,支持颜色、徽标、标签和多种输出格式。chillerlan/php-qrcode 是适用于简单场景的轻量级替代方案。

开始使用 PHP 生成二维码

使用我们的免费生成器或将 API 集成到您的 PHP 应用中。