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程序設計有所幫助。
相關文章
Zend Framework教程之Resource Autoloading用法實例
這篇文章主要介紹了Zend Framework教程之Resource Autoloading用法,結合實例形式分析了Resource Autoloading實現(xiàn)自動加載的原理及具體使用方法,需要的朋友可以參考下2016-03-03基于linnux+phantomjs實現(xiàn)生成圖片格式的網(wǎng)頁快照
在代碼區(qū)看到一個生成站點快照的代碼,看了半天才發(fā)現(xiàn),作者僅僅貼出來業(yè)務代碼,最核心的生成快照圖片的代碼反而沒有給出來。 以前記得google搜索提供站點縮略圖,那時候覺得好神奇,但是沒有花時間去做深入的調研。昨天又遇到了,那就順便調研下吧。2015-04-04PHP數(shù)組遍歷知識匯總(包含遍歷方法、數(shù)組指針操作函數(shù)、數(shù)組遍歷測速)
這篇文章主要介紹了PHP數(shù)組遍歷知識匯總,本文包含3種遍歷方法、7個數(shù)組指針操作函數(shù)、對3種數(shù)組遍歷的速度測試等內容,需要的朋友可以參考下2014-07-07