1. 程式人生 > >tp5生成二維碼

tp5生成二維碼

在只能手機如此普及的今天,二維碼作為推廣的的展現,應用的越來越多了。一個二維碼中可以蘊藏很多資訊。那麼,就讓我來介紹一下,如何在 thinkphp5 框架中生成二維碼。

1.下載類庫

composer require aferrandini/phpqrcode

2.在 common.php 中新建,生成二維碼函式

/**
 * 功能:生成二維碼
 * @param string $qrData 手機掃描後要跳轉的網址
 * @param string $qrLevel 預設糾錯比例 分為L、M、Q、H四個等級,H代表最高糾錯能力
 * @param string $qrSize 二維碼圖大小,1-10可選,數字越大圖片尺寸越大
 * @param string $savePath 圖片儲存路徑
 * @param string $savePrefix 圖片名稱字首
 */
function createQRcode($savePath, $qrData = 'PHP QR Code :)', $qrLevel = 'L', $qrSize = 4, $savePrefix = 'qrcode') { if (!isset($savePath)) return ''; //設定生成png圖片的路徑 $PNG_TEMP_DIR = $savePath; //檢測並建立生成資料夾 if (!file_exists($PNG_TEMP_DIR)) { mkdir($PNG_TEMP_DIR); } $filename
= $PNG_TEMP_DIR . 'test.png'; $errorCorrectionLevel = 'L'; if (isset($qrLevel) && in_array($qrLevel, ['L', 'M', 'Q', 'H'])) { $errorCorrectionLevel = $qrLevel; } $matrixPointSize = 4; if (isset($qrSize)) { $matrixPointSize = min(max((int)$qrSize, 1), 10); }
if (isset($qrData)) { if (trim($qrData) == '') { die('data cannot be empty!'); } //生成檔名 檔案路徑+圖片名字字首+md5(名稱)+.png $filename = $PNG_TEMP_DIR . $savePrefix . md5($qrData . '|' . $errorCorrectionLevel . '|' . $matrixPointSize) . '.png'; //開始生成 \PHPQRCode\QRcode::png($qrData, $filename, $errorCorrectionLevel, $matrixPointSize, 2); } else { //預設生成 \PHPQRCode\QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2); } if (file_exists($PNG_TEMP_DIR . basename($filename))) return basename($filename); else return FALSE; } //在 Tools.php 中新建 qrcode 方法 // 二維碼 public function qrcode() { $savePath = APP_PATH . '/../Public/qrcode/'; $webPath = '/qrcode/'; $qrData = 'http://www.cnblogs.com/nickbai/'; $qrLevel = 'H'; $qrSize = '8'; $savePrefix = 'NickBai'; if($filename = createQRcode($savePath, $qrData, $qrLevel, $qrSize, $savePrefix)){ $pic = $webPath . $filename; } echo "<img src='".$pic."'>"; }

3.可以使用該方法了

  // 二維碼
    public function verificationCode()
    {
        $savePath = APP_PATH . '/../Public/qrcode/';
        $webPath = '/qrcode/';
        $qrData = 'https://blog.csdn.net/qq_35311094?t=1';
        $qrLevel = 'H';
        $qrSize = '8';
        $savePrefix = 'NickBai';

        if($filename = createQRcode($savePath, $qrData, $qrLevel, $qrSize, $savePrefix)){
            $pic = $webPath . $filename;
        }
        echo "<img src='".$pic."'>";
    }

然後就是這個效果了
在這裡插入圖片描述