如果要在Xoops模組中使用php產生的QRcode套件,phpqrcode是個不錯的選擇,且套用方便利於擴充管理,首先先去phpqrcode官網下載套件包回來
http://phpqrcode.sourceforge.net/
- 支持QR Code版本(大小)1-40
- 數字,字母數字,8位和漢字編碼。(日文漢字編碼尚未經過全面測試,如果您啟用了日文編碼,則可以通過驗證它來做出貢獻:))
- 完全用PHP實現,除GD2外沒有任何外部依賴項
- 導出為PNG,JPEG圖像,也導出為位表
- TCPDF 2-D條碼API集成
- 易於配置
- 數據緩存可加快計算速度
- 提供的合併工具有助於將庫作為一個沒有依賴關係的大文件進行部署,易於“包含且不擔心”
- 調試數據轉儲,錯誤記錄,時間基準測試
- 100%開放源代碼,LGPL許可
解壓縮後吧phpqrcode丟到Xoops模組的class資料夾中
然後再Xoops的uploads資料夾中建立一個qrcode資料夾存放QRcode圖檔(資料夾需設777權限)
再吧以下的code放到模組的function.php裡面
//QR CODE 產生器
function qrcodeGenerator($url='',$level='',$size='',$qrcodeimg=''){//參數說明
//$url 產生QRcode連結
//$level 容錯級別 H 30% 校正 / L = ~7% 校正 / M = ~15% 校正 / Q = ~25% 校正
//$size 生成圖片大小 max10
//$qrcodeimg 產生QRcode圖檔名
include_once XOOPS_ROOT_PATH."/modules/模組ID/class/phpqrcode/phpqrcode.php";
$value = $url; //二維碼內容
$errorCorrectionLevel = $level; //容錯級別
$matrixPointSize = $size; //生成圖片大小
//生成二維碼圖片
$filename = XOOPS_ROOT_PATH.'/uploads/qrcode/'.microtime().'.png';
QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
$QR = $filename; //已經生成的原始二維碼圖片檔案
$QR = imagecreatefromstring(file_get_contents($QR));
//輸出圖片
imagepng($QR, ''.XOOPS_ROOT_PATH.'/uploads/qrcode/'.$qrcodeimg.'.png');
imagedestroy($QR);
//清除暫存圖檔
unlink($filename);
return $qrcodeimg;
}
接者在需要產生QRcode的php檔呼叫qrcodeGenerator函數並給予值參產生QRcode
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER[QUERY_STRING]; //取得當前頁面url
$qrcodeimg="".microtime()."qrcode.png"; //QRcode圖檔名(可用流水編號或時間戳區隔)
//建立QRcode
$qrcodebox="<img class='thumbnail' src=".XOOPS_URL."/uploads/qrcode/".qrcodeGenerator($url,$level='H',$size='10',$qrcodeimg).".png>";
吧$qrcodebox輸出到樣板上就能產生QRcode
實際來測試看看,在$url輸入徐嘉裕 - Neil hsu粉絲團的網址
$url="https://www.facebook.com/NeilHsu168/";
$qrcodeimg="".microtime()."qrcode.png"; //QRcode圖檔名(可用流水編號或時間戳區隔)
//建立QRcode
$qrcodebox="<img class='thumbnail' src=".XOOPS_URL."/uploads/qrcode/".qrcodeGenerator($url,$level='H',$size='10',$qrcodeimg).".png>";
然後產生以下的QRCODE
用手機的QRCODE掃描就能開啟https://www.facebook.com/NeilHsu168/連結,這樣QRcode功能就沒問題了。
當然還有其他的更高階用法,像是在QRCODE中在崁入LOGO之類的,可以參考以下的教學:
https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/200206/
以上工作心得撰寫,有需要的朋友參考看看
工作心得撰寫:徐嘉裕 Neil hsu
留言
張貼留言