thinkphp3.2框架集成QRcode生成二維碼的方法分析
本文實(shí)例講述了thinkphp3.2框架集成QRcode生成二維碼的方法。分享給大家供大家參考,具體如下:
一、下載QRcode源代碼
https://sourceforge.net/projects/phpqrcode/files/releases/
使用phpqrcode必須開(kāi)啟GD2擴(kuò)展,phpqrcode提供了一個(gè)png()方法,通過(guò)該方法,我們可以生成自已需要的二維碼。該函數(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);
}
總共六個(gè)參數(shù):
參數(shù)一:表示你要保存的文本數(shù)據(jù)。
參數(shù)二:輸出的二維碼圖片文件。
參數(shù)三:容錯(cuò)率(分別是L、M、Q、H)
參數(shù)四:生成圖片大小(1-10)
參數(shù)五:二維碼周?chē)吙蚩瞻讌^(qū)域間距值
參數(shù)六:是否保存二維碼并顯示
二、把下載好的壓縮包解壓,并名為QRcode,并拷貝到ThinkPHP/Library/Vendor下。然后我們?cè)趹?yīng)用程序目錄的Common模塊下Common/function.php創(chuàng)建一個(gè)公共方法,用于生成二維碼。
/**
* 生成二維碼
* @param type $data 信息數(shù)據(jù)
* @param type $size 二維碼圖大小,1-10可選,數(shù)字越大圖片尺寸越大
* @param type $path 圖片保存根路徑
* @param type $level 糾錯(cuò)比例,分為L(zhǎng),M,Q,H四個(gè)等級(jí),H代表最高糾錯(cuò)能力
*/
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
在線二維碼解碼識(shí)別工具
http://tools.jb51.net/transcoding/trans_qrcode
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- ThinkPHP6使用JWT+中間件實(shí)現(xiàn)Token驗(yàn)證實(shí)例詳解
- Thinkphp6 配置并使用redis圖文詳解
- thinkphp6中Redis 的基本使用方法詳解
- ThinkPHP6.0前置、后置中間件區(qū)別
- ThinkPHP6.0 重寫(xiě)URL去掉Index.php的解決方法
- 基于thinkphp6.0的success、error實(shí)現(xiàn)方法
- Thinkphp使用Zxing擴(kuò)展庫(kù)解析二維碼內(nèi)容圖文講解
- Thinkphp3.2.3整合phpqrcode生成帶logo的二維碼
- ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法實(shí)例
相關(guān)文章
微信公眾平臺(tái)網(wǎng)頁(yè)授權(quán)獲取用戶基本信息中授權(quán)回調(diào)域名設(shè)置的變動(dòng)
這篇文章主要介紹了微信公眾平臺(tái)網(wǎng)頁(yè)授權(quán)獲取用戶基本信息中授權(quán)回調(diào)域名設(shè)置的變動(dòng),需要的朋友可以參考下2014-10-10
簡(jiǎn)單的php數(shù)據(jù)庫(kù)操作類代碼(增,刪,改,查)
這幾天準(zhǔn)備重新學(xué)習(xí),梳理一下知識(shí)體系,同時(shí)按照功能模塊劃分做一些東西。所以。mysql的操作成為第一個(gè)要點(diǎn)。我寫(xiě)了一個(gè)簡(jiǎn)單的mysql操作類,實(shí)現(xiàn)數(shù)據(jù)的簡(jiǎn)單的增刪改查功能。2013-04-04
thinkphp框架page類與bootstrap分頁(yè)(美化)
這篇文章主要介紹了thinkphp框架page類與bootstrap分頁(yè)(美化) ,需要的朋友可以參考下2017-06-06
web server使用php生成web頁(yè)面的三種方法總結(jié)
web server使用php生成web頁(yè)面的三種方法。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10
PHP實(shí)現(xiàn)Google plus的好友拖拽分組效果
本篇文章使用PHP和jQuery實(shí)現(xiàn)了同樣的好友拖拽添加分組的應(yīng)用。以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也我的示例會(huì)對(duì)你的社交網(wǎng)站項(xiàng)目有所幫助。2016-10-10

