TP5生成二维码教程

1.引入 endroid/qr-code 扩展包

composer require endroid/qr-code

2.1 单页

1
2
<?php
require 'vendor/autoload.php';

2.2 TP5

复制代码
<?php
namespace app\demo\controller;

use Endroid\QrCode\QrCode;
use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
use Endroid\QrCode\Response\QrCodeResponse;



class Index
{
    public function index()
    {     
        // echo "6";
        // 扫描二维码后跳转的地址
        $qrCode = new QrCode('https://www.itqaq.com');
        // 内容区域宽高,默认为300
        $qrCode->setSize(300);
        // 外边距大小,默认为10
        $qrCode->setMargin(10);
        // 设置编码
        $qrCode->setEncoding('UTF-8');
        // 设置容错等级
        $qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH());
        // 设置二维码颜色,默认为黑色
        $qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
        // 设置二维码背景色,默认为白色
        $qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
        // 设置二维码下方的文字
        $qrCode->setLabel('个人技术博客网站', 11, null, LabelAlignment::CENTER());
                    ##### 二维码中的logo #####
                    // $qrCode->setLogoPath('demo1/logo.jpg');
                    // $qrCode->setLogoSize(100, 90);
        // $qrCode->setLogoWidth(100);
        // $qrCode->setLogoHeight(90);
        ##### 二维码中的logo / #####
        // 启用内置的验证读取器(默认情况下禁用)
        $qrCode->setValidateResult(false);
        ########## 二维码三种显示方式 ##########
        // 二维码输出在浏览器上
        // header('Content-Type: ' . $qrCode->getContentType());
        // echo $qrCode->writeString();
        // 二维码存在本地
        // $qrCode->writeFile('3.png');
        // 返回数据URI
        // data:image/png;base64,iVBORwxxx
        $dataUri = $qrCode->writeDataUri();
        echo '<img src="' . $dataUri . '">';



    }

    
}
复制代码

运行即可网页出现二维码

 

posted @   79524795  阅读(391)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示