生成qr码倒是很多工具,这类很多,我就介绍一个,我觉得好用的。
在线生成qrcode图片或文档流。
https://github.com/endroid/qr-code
具体使用,看我用的示例代码
require '/vendor/autoload.php';
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;
$writer = new PngWriter();
// Create QR code
$qrCode = QrCode::create('我是二维码的内容')
->setEncoding(new Encoding('UTF-8'))
->setErrorCorrectionLevel(new ErrorCorrectionLevelLow())
->setSize(160) //二维码图片宽高
->setMargin(0) //白边距
->setRoundBlockSizeMode(new RoundBlockSizeModeMargin())
->setForegroundColor(new Color(0, 0, 0))
->setBackgroundColor(new Color(255, 255, 255));
// 创建中心的LOGO
//$logo = Logo::create(__DIR__.'/assets/symfony.png')
// ->setResizeToWidth(50);
// 二维码的标签
//$label = Label::create('Label')
// ->setTextColor(new Color(255, 0, 0));
//$result = $writer->write($qrCode, $logo, $label);
$result = $writer->write($qrCode);
// 直接输出图片
//header('Content-Type: '.$result->getMimeType());
//echo $result->getString();
// 保存文件
$result->saveToFile(__DIR__.'/qr.png');
// 生成URI图片数据 (例如放在 <img> 的src='里面')
//$dataUri = $result->getDataUri();
简单了。