thinkphpはphpqrcodeを使用してQRコードを生成します

サードパーティのファイルをダウンロードする

クラウドディスクへのリンク、抽出コードは次のとおりです:udzr

https://pan.baidu.com/s/1P8AvJLACI0NcP2IcP6YQBA

ファイルをプロジェクトのベンダーフォルダーに圧縮します。

パブリックファイルにメソッドを書き込みます。(注:アプリの下のcommon.php)

function createQRcode($url,$flag=0){
    vendor("phpqrcode.phpqrcode");
    // 纠错级别:L、M、Q、H
    $level = 'L';
    // 点的大小:1到10,用于手机端4就可以了
    $size = 4;
    if($flag){
        $path = "Public/QRcode/";
        if(!file_exists($path)){
            mkdir($path, 0700,true);
        }
        // 生成的文件名
        $fileName = $path.time().'.png';//时间戳命名
        QRcode::png($url, $fileName, $level, $size);
        return $fileName;
    }else{
        QRcode::png($url, false, $level, $size);//不保存,直接显示二维码
        exit;
    }
}

ここではQRコードを表示する2つの方法が使用されています

1-コントローラーで呼び出され、ビューにレンダリングされます

namespace app\index\controller;

use think\Controller;
class Index extends Controller
{
    public function index()
    {
        $fileName = createQRcode("https://www.baidu.com",1);
        $this->assign('path',$fileName);
        return $this->fetch();
    }
}

ビューで

<img src="{$path}" />

2-ビューで直接メソッドを呼び出す

<a href="{:createQRcode('https://www.baidu.com','1')}">百度</a>

おすすめ

転載: blog.csdn.net/hgb24660/article/details/100105764