首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 生成二維碼兩大主流方案:Google Chart API 與 PHP QR Code 庫完整比較

     編輯:PHP 相關知識

前言

二維碼廣泛應用於行銷、支付、登入等場景。PHP 端生成二維碼最常用的兩種方式分別是:呼叫 Google Chart API(線上服務)與使用本地函式庫 PHP QR Code。本文詳細說明兩者的實作方式、優缺點比較與適用場景。

方案一:Google Chart API(線上生成)

基本用法

$urlToEncode = "https://www.example.com";
$qrUrl = "https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=" . urlencode($urlToEncode) . "&choe=UTF-8";
echo "<img src='$qrUrl' alt='QR Code'>";

參數說明

  • chs:圖片尺寸(寬x高),如 150x150。
  • cht=qr:指定圖表類型為 QR Code。
  • chl:編碼內容,需 URL 編碼。
  • choe:字元編碼,建議 UTF-8。
  • chld:錯誤修正等級與邊距(可選),如 L|0。

優缺點

優點缺點
零依賴、無需安裝擴展依賴外部服務,離線環境不可用
生成速度快、無伺服器負擔Google 可能停止服務(已遷移至 Image Charts)
支援 HTTPS、CDN 加速資料傳輸至第三方,敏感資訊不宜使用

方案二:PHP QR Code(本地生成)

安裝與引入

從 SourceForge 下載庫,解壓後引入 phpqrcode.php。

基本用法

include "phpqrcode.php";
$value = "https://www.example.com";
$errorCorrectionLevel = "L";  // L, M, Q, H
$matrixPointSize = 4;         // 單元格像素大小
QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize);

進階:儲存檔案與自訂 Logo

// 直接輸出 PNG 二進位資料
QRcode::png($value, 'qrcode.png', 'L', 4, 2);

// 如需在中心嵌入 Logo,需搭配 GD/ImageMagick 後處理

優缺點

優點缺點
完全離線、資料不出伺服器需安裝 GD 擴展(通常預設啟用)
可自訂錯誤修正等級、尺寸、輸出格式大量生成時消耗 CPU/記憶體
支援 PNG、JPEG 等多種格式庫更新較少,PHP 8+ 相容性需自測

選型建議

  • 快速原型、低流量、非敏感資料:Google Chart API 最省事。
  • 正式產品、高併發、資料隱私、離線環境:PHP QR Code 更適合。
  • 需嵌入 Logo、自訂顏色/樣式:建議本地生成後再用 GD 合成。

總結

兩大方案各有千秋,視專案需求選擇。現代專案多傾向本地生成以掌控資料與可用性,PHP QR Code 雖屬老牌庫但仍穩定好用;若追求更現代化,亦可評估 bacon/bacon-qr-code (Composer 套件) 或 endroid/qr-code 等新式庫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved