Tp框架如何生成二维码

互联网 20-8-18

下面由thinkphp框架教程栏目给大家介绍Tp框架生成二维码的方法,希望对需要的朋友有所帮助!

  • 基础环境
    • 系统环境:Windows10 x64
    • PHP集成环境:phpstudy
    • PHP依赖管理工具:Composer

(一) 安装qr-code扩展

composer require endroid/qr-code

(二)代码实现(代码亲测有效)

<?php namespace app\common\service;  use Jrk\Random; use Endroid\QrCode\QrCode; use think\Exception;  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()->getRootPath()."public/qrcode/code/".$n;         //判断目录是否存在         if (!is_dir($dir)) {             mkdir($dir, 0777, true);         }         $pathname = $dir."/" . $img_name . '.png';         $qrCode = new QrCode();         $qrCode->setText($text)             ->setSize($size)             ->setPadding(15)             ->setErrorCorrection('high')             ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))             ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))             ->setImageType(QrCode::IMAGE_TYPE_PNG);         try {             $qrCode->save($pathname);             $str="/qrcode/code/".$n."/". $img_name . '.png';             if ($domain){                 return request()->domain().$str;             }else{                 return $str;             }         } catch (\Endroid\QrCode\Exceptions\ImageTypeInvalidException $exception) {             return "";         }     }       /**      * @param $text      * @param $logo      * @return string      * @throws Exception      * @author: Hhy <jackhhy520@qq.com>      * @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()->getRootPath()."public/qrcode/".$n;         //判断目录是否存在         if (!is_dir($dir)) {             mkdir($dir, 0777, true);         }         $pathname = $dir."/" . $img_name . '.png';         $qrCode = new QrCode();         $qrCode->setText($text)             ->setSize(300)             ->setLogo($logo)             ->setLogoSize(60)             ->setErrorCorrection('high')             ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))             ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))             ->setImageType(QrCode::IMAGE_TYPE_PNG);         $qrCode->save($pathname);         $str="/qrcode/".$n."/". $img_name . '.png';         if ($domain){             return request()->domain().$str;         }else{             return $str;         }     }  }

以上就是Tp框架如何生成二维码的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: ThinkPHP6
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:当Redis遇上ThinkPHP5时,该怎么做!

相关资讯