1
3

More than 3 years have passed since last update.

PHPでQRコードを作ってみた

Posted at

今回は動的にサイトの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に移動すると下記のように表示されます。

無題.png

めちゃめちゃ簡単!

以上、「PHPでQRコードを作ってみた」でした!

Thank you for reading

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3