現在二維碼的應用非常廣泛,有些網站中也會有產生二維碼的需求。本文就以TP5為例來封裝一個二維碼產生的功能。
1.下載二維碼外掛程式Phpqrcode,地址 https://sourceforge.net/projects/phpqrcode/files/,把下載的檔案夾放到\thinkphp\vendor下
2.在控制器裡(也可在公用函數庫裡)添加函數qrcode();
/** * 製作二維碼圖片 * @return [type] [description] */ public function qrcode() { //載入第三方類庫 vendor('phpqrcode.phpqrcode'); $url="http://finance.china.com.cn/hz/gn/2345/20171127/19523.shtml"; $size=4; //圖片大小 $errorCorrectionLevel = "Q"; // 容錯層級:L、M、Q、H $matrixPointSize = "8"; // 點的大小:1到10 //執行個體化 $qr = new \QRcode(); //會清除緩衝區的內容,並將緩衝區關閉,但不會輸出內容。 ob_end_clean(); //輸入二維碼 $qr::png($url, false, $errorCorrectionLevel, $matrixPointSize); }
參數說明:/** png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 4, $margin = 4, $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000)* 參數說明:* $text 就是url參數* $outfile 預設否,不組建檔案,只返回二維碼圖片,否則需要給出儲存路徑* $level 二維碼容錯率,預設L(7%)、M(15%)、Q(25%)、H(30%)* $size 二維碼圖片大小,預設4* $margin 二維碼空白地區大小* $saveabdprint 二維碼儲存並顯示,$outfile必須傳路徑* $back_color 背景顏色* $fore_color 繪製二維碼的顏色* tip:顏色必須傳16進位的色值,並把“#”替換為“0x”; 如 #FFFFFF => 0xFFFFFF*/
3.二維碼產生,調用。如:網站網域名稱/index/index/qrcode,就可以顯示二維碼了。
相關閱讀:
用PHP產生的二維碼圖片,掃描之後怎樣來擷取openid?
Yii2.0架構產生二維碼功能的實現代碼
用Thinkphp3.2結合phpqrcode產生二維碼