実現したいこと
phpのController内で任意の情報を持たせたQRコード画像を生成・保存する。
インストール
composer require endroid/qr-code
実装
$qrData
にはQRコードの中に保持させたいデータを入れておく。
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Builder\Builder;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh;
use Endroid\QrCode\Label\Alignment\LabelAlignmentCenter;
use Endroid\QrCode\Label\Font\NotoSans;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\Color\Color;
~~
$qrCode = Builder::create()
->writer(new PngWriter())
->writerOptions([])
->data($qrData)
->encoding(new Encoding('UTF-8'))
->errorCorrectionLevel(new ErrorCorrectionLevelHigh())
->size(200)
->margin(10)
->roundBlockSizeMode(new RoundBlockSizeModeMargin())
->build();
$qrCode->saveToFile('filepath/qrCode.png');