今回は動的にサイトのURLを作成したかったので、PHPでQRコードを作成したみました。
結論から言いますと、全く難しくないです!!
読み取りもしっかりと行えます!
なので、肩の力を抜いてご覧ください。
それでは説明していきます!
まずはQRコードを作成するためのライブラリをダウンロードしてください。
compose require endroid/qr-code
後は下記の記述を参考にQRコードを作成します。
今回はコントローラーでQRコードを作成します。
<?php
namespace App\Http\Controllers;
use App\Models\Qr;
use Illuminate\Http\Request;
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;
class QrCodeController extends Controller
{
public function generate(Request $request) {
$writer = new PngWriter();
$origin_URL = 'https://www.example.com';
// Create QR code
$qrCode = QrCode::create($origin_URL)
->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));
// QRコードの出力
$result = $writer->write($qrCode);
header('Content-Type: '.$result->getMimeType());
echo $result->getString();
// // QRコードの画像ファイルを保存
// $result->saveToFile(__DIR__.'/qrcode.png');
// // QRコードのURL
// $dataUri = $result->getDataUri();
}
}
このようにしてQRコードを作成することができます!
実際にコントローラーを適用しているURLに移動すると下記のように表示されます。
めちゃめちゃ簡単!
以上、「PHPでQRコードを作ってみた」でした!
Thank you for reading