現在二維碼的應用非常廣泛,有些網站中也會有產生二維碼的需求。本文就以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,就可以顯示二維碼了。
相關閱讀:
以上是二維碼生成之在TP5中的封裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!