二維碼,在日常生活中隨處可見,二維碼生成也是比較普遍的技術了,現在介紹一下如何利用tp5生成二維碼。
第一步
下載二維碼插件Phpqrcode,地址 https://sourceforge.net/projects/phpqrcode/files/,把下載的文件夾放到\thinkphp\vendor下
第二步
在application/common.php中新增生成二維碼方法
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <[email protected]>
// +----------------------------------------------------------------------
// 應用公共文件
/**
* 製作二維碼圖片
* @return [type] [description]
*/
/*
* 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
*/
function qrcode($url) {
//加載第三方類庫
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);
}
第三步:在任意控制器中調用生成二維碼方法
public function qrcode(){
echo qrcode('https://www.baidu.com/');
}
第四步:在瀏覽器中訪問該方法
這樣就簡單完成了一個二維碼的生成了。希望可以幫到大家,謝謝。