PHP QR碼函式庫

使用 PHP 產生 QR碼

PHP 擁有優秀的 QR碼函式庫,如 endroid/qr-code 用於現代 Web 應用,chillerlan/php-qrcode 用於輕量級產生。非常適合 Laravel、Symfony 和 WordPress。

安裝

使用 Composer 安裝 PHP QR碼函式庫。

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

使用 PHP 函式庫產生 QR碼

使用熱門 PHP QR碼函式庫的程式碼範例。

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 中產生 QR碼

從 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);

即時 QR碼預覽

立即嘗試使用 PHP 產生 QR碼。

QR碼預覽

原生函式庫 vs API

比較使用 PHP QR碼函式庫與 QRCode.fun API。

功能原生函式庫QRCode.fun API
設定複雜度Composer 安裝 + GD/Imagick透過 cURL 發送單次 HTTP 請求
自訂顏色、標誌、標籤(endroid)完整樣式:顏色、形狀、標誌
離線支援需要網路
維護Composer 更新始終保持最新
輸出格式PNG, SVG, PDF(endroid)PNG, SVG

PHP QR碼使用情境

PHP 應用中 QR碼的常見情境。

Laravel 與 Symfony

在 Laravel 或 Symfony 控制器中產生 QR碼,用於使用者資料、雙重認證和付款連結。

WordPress 外掛

建構 WordPress 外掛,為文章、產品和自訂內容類型產生 QR碼。

電子商務

為產品頁面、付款閘道、訂單追蹤和電子收據建立 QR碼。

PDF 發票

使用 TCPDF 或 FPDF 將 QR碼嵌入 PDF 發票中,用於付款驗證和文件連結。

常見問題

關於使用 PHP 產生 QR碼的常見問題。

endroid/qr-code 是功能最豐富的選擇,支援顏色、標誌、標籤和多種輸出格式。chillerlan/php-qrcode 是適用於簡單情境的輕量級替代方案。

開始使用 PHP 產生 QR碼

使用我們的免費產生器或將 API 整合到您的 PHP 應用中。