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 分享