Simple QrCode を使った、QRコードの出力とダウンロード。
Composer を使用してパッケージを追加。
composer require simplesoftwareio/simple-qrcode "~4"
routes\web.php
// 固定の場合 Route::get('qr_code', 'SampleController@qr_code')->name('qr_code'); // DBから取得する場合 Route::get('{sample}/qr_code', 'SampleController@qr_code')->name('qr_code');
// 固定の場合 <a href="{{ route('qr_code') }}">ダウンロード</a> // DBから取得する場合 <a href="{{ route('qr_code', $sample) }}">ダウンロード</a>
app\Http\Controllers\SampleController.php
// 固定の場合 public function qr_code() { return response()->streamDownload(function(){ echo QrCode::format('svg')->generate('url など'); }, 'file_name.svg'); } // DBから取得する場合 public function qr_code(Sample $sample) { return response()->streamDownload(function() use ($sample){ echo QrCode::format('svg')->generate($sample->url); }, $sample->name . '.svg'); }
以下 URL にて。
https://www.simplesoftware.io/#/docs/simple-qrcode
デフォルトでは、拡張子が svg、画像サイズが 100*100px となっている。
これらはもちろん、色やパターンなど色々変更可能。