欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

thinkphp3.2框架集成QRcode生成二維碼的方法分析

 更新時間:2020年03月11日 10:47:56   作者:懷素真  
這篇文章主要介紹了thinkphp3.2框架集成QRcode生成二維碼的方法,結合實例形式分析了QRcode的下載、擴展以及thinkphp3.2使用QRcode生成二維碼的相關操作技巧,需要的朋友可以參考下

本文實例講述了thinkphp3.2框架集成QRcode生成二維碼的方法。分享給大家供大家參考,具體如下:

一、下載QRcode源代碼

https://sourceforge.net/projects/phpqrcode/files/releases/

使用phpqrcode必須開啟GD2擴展,phpqrcode提供了一個png()方法,通過該方法,我們可以生成自已需要的二維碼。該函數(shù)定義如下:

public static function png(
  $text,
  $outfile = false,
  $level = QR_ECLEVEL_L,
  $size = 3,
  $margin = 4,
  $saveandprint = false
) {
  $enc = QRencode::factory($level, $size, $margin);
  return $enc->encodePNG($text, $outfile, $saveandprint=false);
}

總共六個參數(shù):

參數(shù)一:表示你要保存的文本數(shù)據(jù)。
參數(shù)二:輸出的二維碼圖片文件。
參數(shù)三:容錯率(分別是L、M、Q、H)
參數(shù)四:生成圖片大小(1-10)
參數(shù)五:二維碼周圍邊框空白區(qū)域間距值
參數(shù)六:是否保存二維碼并顯示

二、把下載好的壓縮包解壓,并名為QRcode,并拷貝到ThinkPHP/Library/Vendor下。然后我們在應用程序目錄的Common模塊下Common/function.php創(chuàng)建一個公共方法,用于生成二維碼。

/**
 * 生成二維碼
 * @param type $data 信息數(shù)據(jù)
 * @param type $size 二維碼圖大小,1-10可選,數(shù)字越大圖片尺寸越大
 * @param type $path 圖片保存根路徑
 * @param type $level 糾錯比例,分為L,M,Q,H四個等級,H代表最高糾錯能力
 */
function createQR($data = '', $size = 8, $path = './Qr', $level = 'L') {
  if (empty($data) || empty($size) || empty($path) || empty($level)) {
    return false;
  }
  vendor('QRcode.phpqrcode');
  $size = min(max((int) $size, 1), 10);
  $filePath = $path . '/' . date('Ym');
  if (!file_exists($filePath)) {
    @mkdir($filePath, 0766, true);
  }
  if (!in_array($level, array('L', 'M', 'Q', 'H'))) {
    $level = 'L';
  }
  $fileName = date('YmdHis') . '_' . uniqid() . '.png';
  $file = $filePath . '/' . $fileName;
 
  QRcode::png($data, $file, $level, $size, 2);
 
  if (file_exists($file)) {
    return $file;
  } else {
    return false;
  }
}

PS:這里再為大家推薦兩款二維碼相關在線工具供大家參考使用:

在線生成二維碼工具(加強版)
http://tools.jb51.net/transcoding/jb51qrcode

在線二維碼解碼識別工具
http://tools.jb51.net/transcoding/trans_qrcode

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

相關文章

最新評論