多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 一,qr-code代码库的地址: ~~~ https://github.com/endroid/qr-code ~~~ 说明:刘宏缔的架构森林是一个专注架构的博客,地址:[https://www.cnblogs.com/architectforest](https://www.cnblogs.com/architectforest)          对应的源码可以访问这里获取: [https://github.com/liuhongdi/ ](https://github.com/liuhongdi/)         或: [https://gitee.com/liuhongdi](https://gitee.com/liuhongdi) 说明:作者:刘宏缔 邮箱: 371125307@qq.com ## 二,用composer下载: 1,下载 ~~~ liuhongdi@lhdpc:/data/php/admapi$ composer require endroid/qr-code ~~~ 2,查看已下载的qr-code库的版本: [![复制代码](https://common.cnblogs.com/images/copycode.gif)](javascript:void(0); "复制代码") ~~~ liuhongdi@lhdpc:/data/php/admapi$ composer show endroid/qr-code name : endroid/qr-code descrip. : Endroid QR Code keywords : code, endroid, php, qr, qrcode versions : * 4.4.7 type : library license : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText homepage : https://github.com/endroid/qr-code source : [git] https://github.com/endroid/qr-code.git d9f12af739c11c70fa1e8132dba8f849395e939b dist : [zip] https://api.github.com/repos/endroid/qr-code/zipball/d9f12af739c11c70fa1e8132dba8f849395e939b d9f12af739c11c70fa1e8132dba8f849395e939b path : /data/php/admapi/vendor/endroid/qr-code names : endroid/qr-code support issues : https://github.com/endroid/qr-code/issues source : https://github.com/endroid/qr-code/tree/4.4.7 autoload psr-4 Endroid\QrCode\ => src/ requires bacon/bacon-qr-code ^2.0 php ^7.4||^8.0 requires (dev) endroid/quality dev-master ext-gd * khanamiryan/qrcode-detector-decoder ^1.0.4 setasign/fpdf ^1.8.2 suggests ext-gd Enables you to write PNG images khanamiryan/qrcode-detector-decoder Enables you to use the image validator roave/security-advisories Makes sure package versions with known security issues are not installed setasign/fpdf Enables you to use the PDF writer ~~~ [![复制代码](https://common.cnblogs.com/images/copycode.gif)](javascript:void(0); "复制代码") 可以看到版本是4.4.7 ## 三,php代码: controller/Article.php [![复制代码](https://common.cnblogs.com/images/copycode.gif)](javascript:void(0); "复制代码") ~~~ <?php declare (strict_types = 1); namespace app\controller; use Endroid\QrCode\Color\Color; use Endroid\QrCode\Encoding\Encoding; use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow; use Endroid\QrCode\QrCode; use Endroid\QrCode\Label\Label; use Endroid\QrCode\Logo\Logo; use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin; use Endroid\QrCode\Writer\PngWriter; class Article extends BaseController { //生成pr code public function qr() { $writer = new PngWriter(); // Create QR code $qrCode = QrCode::create('https://www.iliangcang.com') ->setEncoding(new Encoding('UTF-8')) ->setErrorCorrectionLevel(new ErrorCorrectionLevelLow()) ->setSize(300) ->setMargin(10) ->setRoundBlockSizeMode(new RoundBlockSizeModeMargin()) ->setForegroundColor(new Color(0, 0, 0)) ->setBackgroundColor(new Color(255, 255, 255)); // Create generic logo //logo是放在app/asset/目录下 $logo = Logo::create(app()->getRootPath()."/app/asset/logo.png") ->setResizeToWidth(50); // Create generic label $label = Label::create('良仓.生活美学') ->setTextColor(new Color(0, 0, 0)); $result = $writer->write($qrCode, $logo, $label); header('Content-Type: '.$result->getMimeType()); echo $result->getString(); exit; } } ~~~ [![复制代码](https://common.cnblogs.com/images/copycode.gif)](javascript:void(0); "复制代码") ## 四,测试效果 访问: ~~~ http://127.0.0.1:8000/article/qr ~~~ 返回: ![](https://img.kancloud.cn/92/51/9251546401f2d84c2439f055efd240ac_578x602.png) ## 五,查看php和thinkphp的版本: php: ~~~ liuhongdi@lhdpc:/data/php/admapi$ php --version PHP 8.1.1 (cli) (built: Dec 20 2021 16:12:16) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.1, Copyright (c) Zend Technologies with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies  ~~~ thinkphp: ~~~ liuhongdi@lhdpc:/var/www/html$ cd /data/php/admapi/ liuhongdi@lhdpc:/data/php/admapi$ php think version v6.0.10LTS ~~~