PHP - 產生qrcode
我們這邊利用PHP QR Code的open source library來產生圖檔,
Step1 : 首先先下載source code至相關目錄
Step2 : 以下是範例code
Step3: 並利用sample2.php執行
Step1 : 首先先下載source code至相關目錄
Step2 : 以下是範例code
$ vim sample1.php
<?php
include 'phpqrcode/lib/full/qrlib.php';
$param = isset($_GET['data']) ? $_GET['data'] : 'Test Sample.';
ob_start("callback");
$codeText = $param;
$debugLog = ob_get_contents();
ob_end_clean();
QRcode::png($codeText);
|
Step3: 並利用sample2.php執行
$ vim sample2.php
<?php
$ourParamId = 1234;
echo '<img src="sample1.php?data='.$ourParamId.'" />';
|
P.S. 如果想要讓qr code加入特定logo
可以利用google相關api產生
$ vim sample3.php
<?php
include 'phpqrcode/lib/full/qrlib.php';
## 產生qr code的路徑檔名
$filepath = 'myimage.png';
## 你想加入的logo路徑圖檔
$logopath = 'your logo path';
## qr code的內容
$codeContents = 'Test Sample3';
QRcode::png($codeContents,$filepath , QR_ECLEVEL_H);
$QR = imagecreatefrompng($filepath);
$logo = imagecreatefromstring(file_get_contents($logopath));
imagecolortransparent($logo , imagecolorallocatealpha($logo , 0, 0, 0, 127));
imagealphablending($logo , false);
imagesavealpha($logo , true);
$QR_width = imagesx($QR);
$QR_height = imagesy($QR);
$logo_width = imagesx($logo);
$logo_height = imagesy($logo);
# 決定logo的大小
$logo_qr_width = $QR_width/3;
$scale = $logo_width/$logo_qr_width;
$logo_qr_height = $logo_height/$scale;
imagecopyresampled($QR, $logo, $QR_width/3, $QR_height/3, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
# 如果不想存成檔案
imagepng($QR);
imagedestroy($QR);
# 另外一種方式
# 存成檔案
imagepng($QR,$filepath);
imagedestroy($QR);
# 直接顯示在網頁上
echo '<img src="'.$filepath.'" />';
|
參考來源:
留言
張貼留言