thinkphp3.2框架集成QRcode生成二維碼的方法分析
本文實(shí)例講述了thinkphp3.2框架集成QRcode生成二維碼的方法。分享給大家供大家參考,具體如下:
一、下載QRcode源代碼
https://sourceforge.net/projects/phpqrcode/files/releases/
使用phpqrcode必須開啟GD2擴(kuò)展,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下。然后我們在應(yīng)用程序目錄的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:這里再為大家推薦兩款二維碼相關(guān)在線工具供大家參考使用:
在線生成二維碼工具(加強(qiáng)版)
http://tools.jb51.net/transcoding/jb51qrcode
在線二維碼解碼識別工具
http://tools.jb51.net/transcoding/trans_qrcode
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- ThinkPHP6使用JWT+中間件實(shí)現(xiàn)Token驗(yàn)證實(shí)例詳解
- Thinkphp6 配置并使用redis圖文詳解
- thinkphp6中Redis 的基本使用方法詳解
- ThinkPHP6.0前置、后置中間件區(qū)別
- ThinkPHP6.0 重寫URL去掉Index.php的解決方法
- 基于thinkphp6.0的success、error實(shí)現(xiàn)方法
- Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解
- Thinkphp3.2.3整合phpqrcode生成帶logo的二維碼
- ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法實(shí)例
相關(guān)文章
Zend Framework教程之Resource Autoloading用法實(shí)例
這篇文章主要介紹了Zend Framework教程之Resource Autoloading用法,結(jié)合實(shí)例形式分析了Resource Autoloading實(shí)現(xiàn)自動加載的原理及具體使用方法,需要的朋友可以參考下2016-03-03基于linnux+phantomjs實(shí)現(xiàn)生成圖片格式的網(wǎng)頁快照
在代碼區(qū)看到一個生成站點(diǎn)快照的代碼,看了半天才發(fā)現(xiàn),作者僅僅貼出來業(yè)務(wù)代碼,最核心的生成快照圖片的代碼反而沒有給出來。 以前記得google搜索提供站點(diǎn)縮略圖,那時候覺得好神奇,但是沒有花時間去做深入的調(diào)研。昨天又遇到了,那就順便調(diào)研下吧。2015-04-04PHP實(shí)現(xiàn)用戶認(rèn)證及管理完全源碼
PHP實(shí)現(xiàn)用戶認(rèn)證及管理完全源碼...2007-03-03CodeIgniter控制器之業(yè)務(wù)邏輯實(shí)例分析
這篇文章主要介紹了CodeIgniter控制器之業(yè)務(wù)邏輯使用方法,結(jié)合實(shí)例形式分析了業(yè)務(wù)邏輯所涉及的相關(guān)概念與具體使用方法,需要的朋友可以參考下2016-01-01PHP數(shù)組遍歷知識匯總(包含遍歷方法、數(shù)組指針操作函數(shù)、數(shù)組遍歷測速)
這篇文章主要介紹了PHP數(shù)組遍歷知識匯總,本文包含3種遍歷方法、7個數(shù)組指針操作函數(shù)、對3種數(shù)組遍歷的速度測試等內(nèi)容,需要的朋友可以參考下2014-07-07