Tp框架如何生成二維碼

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

下面由thinkphp框架教程欄目給大家介紹Tp框架生成二維碼的方法,希望對需要的朋友有所幫助!

Tp框架如何生成二維碼

  • 基礎環境
    • 系統環境:Windows10 x64
    • PHP集成環境:thinkphp
    • PHP依賴管理工具:thinkphp

(一) 安裝qr-code擴展

composer require endroid/qr-code

(二)代碼實現(代碼親測有效)

<?php namespace appcommonservice;  use JrkRandom; use EndroidQrCodeQrCode; use thinkException;  class QrcodeSrvice {      /**      * @param $text      * @param int $size      * @param bool $domain      * @return string      * @author: Hhy <jackhhy520@qq.com> ?????*?@describe:生成普通二維碼 ?????*/ ????public?static?function?make_qrcode($text,$size=105,$domain=false){ ????????$img_name?=?Random::alnum(15); ????????$n?=?date("Ym"); ????????$dir=?app()-&gt;getRootPath()."public/qrcode/code/".$n; ????????//判斷目錄是否存在 ????????if?(!is_dir($dir))?{ ????????????mkdir($dir,?0777,?true); ????????} ????????$pathname?=?$dir."/"?.?$img_name?.?'.png'; ????????$qrCode?=?new?QrCode(); ????????$qrCode-&gt;setText($text) ????????????-&gt;setSize($size) ????????????-&gt;setPadding(15) ????????????-&gt;setErrorCorrection('high') ????????????-&gt;setForegroundColor(array('r'?=&gt;?0,?'g'?=&gt;?0,?'b'?=&gt;?0,?'a'?=&gt;?0)) ????????????-&gt;setbackgroundColor(array('r'?=&gt;?255,?'g'?=&gt;?255,?'b'?=&gt;?255,?'a'?=&gt;?0)) ????????????-&gt;setImageType(QrCode::IMAGE_TYPE_PNG); ????????try?{ ????????????$qrCode-&gt;save($pathname); ????????????$str="/qrcode/code/".$n."/".?$img_name?.?'.png'; ????????????if?($domain){ ????????????????return?request()-&gt;domain().$str; ????????????}else{ ????????????????return?$str; ????????????} ????????}?catch?(EndroidQrCodeExceptionsImageTypeInvalidException?$exception)?{ ????????????return?""; ????????} ????}   ????/** ?????*?@param?$text ?????*?@param?$logo ?????*?@return?string ?????*?@throws?Exception ?????*?@author:?Hhy?<jackhhy520> ?????*?@describe:生成帶logo?的二維碼 ?????*/ ????public?static?function?QrCodeWithLogo($text,$logo,$domain=false){ ????????if?(!file_exists($logo)){ ????????????exception("logo地址不存在"); ????????} ????????$img_name?=?Random::alnum(15); ????????$n?=?date("Ym"); ????????$dir=?app()-&gt;getRootPath()."public/qrcode/".$n; ????????//判斷目錄是否存在 ????????if?(!is_dir($dir))?{ ????????????mkdir($dir,?0777,?true); ????????} ????????$pathname?=?$dir."/"?.?$img_name?.?'.png'; ????????$qrCode?=?new?QrCode(); ????????$qrCode-&gt;setText($text) ????????????-&gt;setSize(300) ????????????-&gt;setLogo($logo) ????????????-&gt;setLogoSize(60) ????????????-&gt;setErrorCorrection('high') ????????????-&gt;setForegroundColor(array('r'?=&gt;?0,?'g'?=&gt;?0,?'b'?=&gt;?0,?'a'?=&gt;?0)) ????????????-&gt;setBackgroundColor(array('r'?=&gt;?255,?'g'?=&gt;?255,?'b'?=&gt;?255,?'a'?=&gt;?0)) ????????????-&gt;setImageType(QrCode::IMAGE_TYPE_PNG); ????????$qrCode-&gt;save($pathname); ????????$str="/qrcode/".$n."/".?$img_name?.?'.png'; ????????if?($domain){ ????????????return?request()-&gt;domain().$str; ????????}else{ ????????????return?$str; ????????} ????}  }</jackhhy520>

? ? ? ? ? ? ? ? ? ? ? ? ? ?

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享