1. 程式人生 > >thinkphp5 生成二維碼在模板中顯示

thinkphp5 生成二維碼在模板中顯示

thinkphp5

thinkphp5 生成二維碼

  1. 使用php qrcode類庫
    composer require endroid/qrcode 導入phpqrcode類庫

2. 類庫使用
a.$qrCode = new \Endroid\QrCode\QrCode();//實例化


b.設置生成二維碼生成的各項參數

c.參數解析:
$setVersion = $qrCode -> setVersion(5);//37*37
//設置版本號,QR碼符號共有40種規格的矩陣,從21x21(版本1),到177x177(版本40),每一版本符號比前一版本 每邊增加4個模塊。

$setErrorCorrection = $qrCode -> setErrorCorrection(2);//容錯級別,2的容錯率:30%

容錯級別:0:15%,1:7%,2:30%,3:25%

$setModuleSize = $qrCode -> setModuleSize(2);//設置QR碼模塊大小

$setImageType = $qrCode -> setImageType(‘png‘);//設置二維碼保存類型

$logo = ‘uploads/accountPictrue/logo1.jpg‘;//logo圖片
$setLogo = $qrCode -> setLogo($logo);//二維碼中間的圖片

$setLogoSize = $qrCode -> setLogoSize(360);//設置logo大小

$value = ‘https://www.dongtianjr.com‘; //二維碼內容
$setText = $qrCode -> setText($value);//設置文字以隱藏QR碼。

$setSize = $qrCode -> setSize(1024);//二維碼生成後的大小

$setPadding = $qrCode -> setPadding(48);//設置二維碼的邊框寬度,默認16

$setDrawQuietZone = $qrCode -> setDrawQuietZone(true);//設置模塊間距

$setDrawBorder = $qrCode -> setDrawBorder(true);//給二維碼加邊框。。。
$text = ‘XX銷售,XX公司!一二‘;
$setLabel = $qrCode -> setLabel($text);//在生成的圖片下面加上文字

$setLabelFontSize = $qrCode -> setLabelFontSize(39);//生成的文字大小、

$lablePath = ‘uploads/qr/qr.TTF‘;
$setLabelFontPath = $qrCode -> setLabelFontPath($lablePath);//設置標簽字體

$color_foreground = [‘r‘ => 108, ‘g‘ => 182, ‘b‘ => 229, ‘a‘ => 0];
$setForegroundColor = $qrCode -> setForegroundColor($color_foreground);//生成的二維碼的顏色

$color_background = [‘r‘ => 213, ‘g‘ => 241, ‘b‘ => 251, ‘a‘ => 0];
$setBackgroundColor = $qrCode -> setBackgroundColor($color_background);//生成的圖片背景顏色

$flieName = ‘liukelk.jpg‘;//二維碼的名字

$qrCode -> save($flieName);//生成二維碼

註:如果標簽的中文亂碼的話,可以引入中文字體。

生成的效果圖(略)

技術分享


技術分享


如果是本地composer,copy到線上的。

要復制

vender/composer,

vender/bacon,

vender/endroid,

vender/khanamiryan,

vender/myclabs,

vender/paragonie


本文參考:

http://www.thinkphp.cn/topic/48510.html

http://www.thinkphp.cn/topic/40300.html



現在推薦大家使用 endroid/qrcode,
github地址:https://github.com/endroid/QrCode



有問題進群討論吧


---------- 招募未來大神 -----------------------

如果您有利他之心,樂於幫助他人,樂於分享
如果您遇到php問題,百度且問了其他群之後仍沒得到解答

歡迎加入,PHP技術問答群,QQ群:292626152

教學相長!幫助他人,自己也會得到提升!

為了珍惜每個人的寶貴時間,請大家不要閑聊!

願我們互相幫助,共同進步!

加入時留言暗號,php,ajax,thinkphp,yii...


---------- 招募未來大神 ----------


thinkphp5 生成二維碼在模板中顯示