當前位置: 首頁> 最新文章列表> PHP實現二維碼生成與掃描的完整教程

PHP實現二維碼生成與掃描的完整教程

M66 2025-10-29

PHP中實現二維碼生成與掃描的方法

二維碼在現代應用中隨處可見,無論是移動支付、網站登錄還是商品追踪,都離不開二維碼的支持。本文將介紹如何在PHP中生成和掃描二維碼,使用簡單的代碼實現完整的二維碼功能。

準備工作:引入必要的庫

要在PHP中處理二維碼,我們主要用到兩個庫:

  • PHP QR Code:用於生成二維碼圖片。
  • ZBar:用於識別二維碼內容。

首先,可以從GitHub上下載PHP QR Code 的源碼並引入到項目中。接著,請確保PHP環境中啟用了GD擴展,因為該擴展負責圖像的生成與處理。

使用PHP QR Code生成二維碼

以下示例演示瞭如何使用PHP QR Code 庫生成二維碼圖片:

 // 引入QR Code庫
require_once('qrlib.php');

// 配置參數
$text = 'https://example.com';  // 二維碼中包含的文本信息
$size = 10;  // 二維碼的大小,單位為像素

// 生成二維碼圖片
$filename = 'qrcode.png';
QRcode::png($text, $filename, QR_ECLEVEL_L, $size);

echo '二維碼已生成:' . $filename;

執行以上代碼後,會在項目目錄中生成一個二維碼圖片文件。你可以將該圖片輸出到瀏覽器,或保存到服務器中以便後續使用。

使用ZBar實現二維碼掃描識別

二維碼生成後,我們還需要實現掃描功能。 ZBar 是一個開源的二維碼識別庫,它支持多種語言和平台。安裝後即可通過PHP擴展調用。

在Linux系統下,可使用包管理器安裝ZBar;在Windows系統中,可以從ZBar官網獲取二進製版本並配置環境變量。

二維碼掃描代碼示例

下面的示例展示瞭如何使用ZBar擴展在PHP中識別二維碼圖片內容:

 // 創建圖像資源
$image = imagecreatefrompng('qrcode.png');

// 初始化ZBar擴展
$scanner = zbar_scanner_create();
zbar_scanner_set_config($scanner, 0, ZBAR_CFG_ENABLE, 1);

// 掃描圖像中的二維碼
zbar_scan_image($scanner, $image);  // 返回的結果對像是一個數組

// 獲取識別結果
$results = zbar_get_results($scanner);
foreach ($results as $result) {
  echo '識別結果:' . $result->data . ' (類型:' . $result->type . ')' . PHP_EOL;
}

// 釋放資源
zbar_image_destroy($image);
zbar_scanner_destroy($scanner);

執行後,程序會讀取指定的二維碼圖片並輸出識別到的內容。例如,當二維碼中包含一個URL或文本時,腳本會在終端中顯示該數據。

總結

通過本文介紹的方法,開發者可以輕鬆在PHP中實現二維碼的生成與掃描功能。使用PHP QR Code庫生成二維碼,再結合ZBar進行識別,不僅高效可靠,而且實現簡單,適合在網站、後台系統或管理工具中集成使用。希望這篇教程能幫助你更好地掌握PHP的二維碼應用。