thinkPHP5引入endroid/qr-code类库生成指定二维码

泪湿孤枕 提交于 2019-12-19 11:34:26

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我在项目开发中需要使用到的常见的一些类库,基本都是Packagist / Composer 中国全量镜像上找到,然后使用composer直接安装。

废话不多说开始吧!

首先,打开https://packagist.org/该网址,

在搜索框中输入endroid/qr-code,

点击第一个链接进入,

下滑找到这句话:

$ composer require endroid/qr-code


下载到本地,我这里以c盘下载为例:

加载的文件为vendor,下面的子目录如下

我们需要用到的是endroid目录。由于我们是在thinkPHP5项目下使用,所以你在你的TP5根目录下composer该类库,会自动加载到vendor目录下,

我们在项目代码中可以直接通过use关键字引用使用,贴上代码

<?php
namespace app\subsite\controller;
 
use Endroid\QrCode\QrCode;
 
class Index extends Base
{
    function _initialize()
    {
        parent::_initialize();
    }
    /*
     * 生成二维码图片
     */
    public function qr_code()
    {
        $link = 'http://'.$_SERVER['HTTP_HOST'].'/subsite/index/register';
        $sha1 = sha1($link);
        $qrcode_dir = dce_dir_root . '/qrcode/' . substr($sha1, 0, 2)  .'/'. substr($sha1, 2, 3) . '/';
        if (!file_exists($qrcode_dir)) mkdir($qrcode_dir, 0777, true);
        $file_name = $qrcode_dir .$sha1 . '.png';
        header('Content-Type: image/png');
        if (is_file($file_name)) {
            echo file_get_contents($file_name);
        } else {
            $qrCode = new QrCode($link);
            echo $qrCode->writeString();
            $qrCode->writeFile($file_name);
        }
        die();
    }
}

引用就完成了,具体操作,请大家在实操!

Buy me a cup of coffee :)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!