zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-04-18 14:48:33 时间

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

废话不多说开始吧!

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

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

点击第一个链接进入,

下滑找到这句话:

$ composer require endroid/qr-code

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

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

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

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

<?php
namespace appsubsitecontroller;
 
use EndroidQrCodeQrCode;
 
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();
    }
}
复制代码
引用就完成了,具体操作,请大家在实操!