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

PHP 線上產生 QR Code 完整範例:整合 Google Chart API 前後端一體化

     編輯:PHP 綜合知識

功能特色

  • 支援自訂寬高(100~500px)
  • 自動處理中文編碼(Big5 → UTF-8 → URL Encode)
  • 單檔案包含表單、驗證、產生、顯示、連結分享
  • 即時預覽與直接圖片連結雙模式

完整單檔案實作

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>QR Code 產生器</title>
<style>
body{font-family:Microsoft JhengHei,sans-serif;text-align:center;background:#f5f5f5;padding:20px}
.card{max-width:700px;margin:auto;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.1)}
input[type=text],textarea{width:100%;padding:10px;margin:8px 0;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}
select{padding:8px;margin:0 10px}
button{padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}
button:hover{background:#0056b3}
img{max-width:100%;border:1px solid #eee;margin:16px 0}
</style></head><body>
<div class="card">
<h2>QR Code 線上產生器</h2>

<?php
$content = $_GET['content'] ?? '';
$width   = (int)($_GET['width']  ?? 300);
$height  = (int)($_GET['height'] ?? 300);

if ($content !== '') {
    $encoded = urlencode(mb_convert_encoding($content, 'UTF-8', 'auto'));
    $api = "https://chart.googleapis.com/chart?cht=qr&chld=H&chs={$width}x{$height}&chl={$encoded}";
    echo "<p>輸入內容:<strong>".htmlspecialchars($content)."</strong></p>";
    echo "<p>尺寸:{$width} x {$height} px</p>";
    echo "<img src='{$api}' alt='QR Code'>";
    echo "<p><a href='{$api}' target='_blank'>直接開啟圖片連結</a></p>";
    echo "<p><a href='javascript:history.back()'>← 重新產生</a></p>";
} else {
?>
<form method="get">
  <p>
    寬度:<select name="width">
      <option value="100">100</option>
      <option value="200">200</option>
      <option value="300" selected>300</option>
      <option value="400">400</option>
      <option value="500">500</option>
    </select>
    高度:<select name="height">
      <option value="100">100</option>
      <option value="200">200</option>
      <option value="300" selected>300</option>
      <option value="400">400</option>
      <option value="500">500</option>
    </select>
  </p>
  <p>輸入文字或網址:<br><textarea name="content" rows="5" required></textarea></p>
  <button type="submit">產生 QR Code</button>
  <button type="reset">重置</button>
</form>
<?php } ?>
</div></body></html>

遷移提醒

Google Chart API 已於 2019 年正式停止服務,建議改用:

  • PHP QR Code Library(phpqrcode)本地端產生
  • BaconQrCode(Composer 套件,現代 PHP 專案首選)
  • Google Charts QR Code 替代服務(如 goqr.me、api.qrserver.com)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved