1.引入 endroid/qr-code 扩展包
composer require endroid/qr-code
2.1 单页
<?php require 'vendor/autoload.php';
2.2 TP5
<?php namespace appdemocontroller; use EndroidQrCodeQrCode; use EndroidQrCodeErrorCorrectionLevel; use EndroidQrCodeLabelAlignment; use EndroidQrCodeResponseQrCodeResponse; 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 . '">'; } }
运行即可网页出现二维码