PHP - 產生qrcode

我們這邊利用PHP QR Code的open source library來產生圖檔,

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.'" />';

參考來源:

留言

這個網誌中的熱門文章

Python - 計算特定目錄底下的檔案以及目錄數量

devstack安裝all in one openstack(pike)