https://packagist.org 上有很多的包,我们可以通过composer来进行拉取安装,日常开发中很多用到的东西,都可以在里面找到,现在我们来使用其中一个库,用来生成一张二维码,安装:
composer require endroid/qr-code
目前最新的包必须使用php7.2及以上的版本,如果php版本太低,可以拉取执行的版本包,例如
composer require endroid/qr-code:2.5.*
该包可以运行在php5.6的版本中。
拉取完,我们第二步就是开始写代码,直接输出图片到浏览器上:
<?php
require './vendor/autoload.php';
use Endroid\QrCode\QrCode;
$qrCode = new QrCode('https://www.baidu.com/');
header('Content-Type: ' . $qrCode->getContentType());
echo $qrCode->writeString();
这样访问该文件,就直接输出一张图片了。
如果要保存图片到服务器上,我们可以使用:
<?php
require './vendor/autoload.php';
use Endroid\QrCode\QrCode;
$qrCode = new QrCode('https://www.baidu.com/');
$qrCode->writeFile(__DIR__ . '/1.png');
还有的就是给二维码设置logo和尺寸:
<?php
require './vendor/autoload.php';
use Endroid\QrCode\QrCode;
$qrCode = new QrCode('https://www.baidu.com/');
$qrCode->setSize(150);
$qrCode->setMargin(10);
$qrCode->setLogoPath(__DIR__ . '/logo.png');
$qrCode->setLogoSize(40, 40);
header('Content-Type: ' . $qrCode->getContentType());
echo $qrCode->writeString();
这样设置图片的大小就是170x170,两边距是10,所以是10+150+10=170。