PHP QRコードライブラリ

PHPでQRコードを生成

PHPには優れたQRコードライブラリがあり、endroid/qr-codeは最新のWebアプリに、chillerlan/php-qrcodeは軽量生成に最適です。Laravel、Symfony、WordPressに対応しています。

インストール

Composerを使用してPHP QRコードライブラリをインストールします。

Composer
composer require endroid/qr-code
Composer (alt)
composer require chillerlan/php-qrcode

PHPライブラリでQRコードを生成

人気のPHP QRコードライブラリを使用したコード例。

Basic QR Code with endroid/qr-code
<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;

$qrCode = new QrCode('https://qrcode.fun');
$qrCode->setSize(300);
$qrCode->setMargin(10);

$writer = new PngWriter();
$result = $writer->write($qrCode);

// Save to file
$result->saveToFile('qrcode.png');

// Or output directly
header('Content-Type: ' . $result->getMimeType());
echo $result->getString();
QR Code with Logo (endroid)
<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Logo\Logo;
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\ErrorCorrectionLevel;

$qrCode = new QrCode(
    data: 'https://qrcode.fun',
    size: 300,
    margin: 10,
    foregroundColor: new Color(26, 43, 60),
    backgroundColor: new Color(255, 255, 255),
    errorCorrectionLevel: ErrorCorrectionLevel::High
);

$logo = new Logo(
    path: 'logo.png',
    resizeToWidth: 80
);

$writer = new PngWriter();
$result = $writer->write($qrCode, $logo);
$result->saveToFile('qrcode_logo.png');
QRCode.fun API

PHPでAPIを使ってQRコードを生成

PHPからcURLまたはGuzzleを使用してQRCode.fun APIを呼び出します。

PHP API連携
<?php
$payload = json_encode([
    'data' => 'https://qrcode.fun',
    'width' => 300,
    'height' => 300,
    'type' => 'png',
    'margin' => 10,
    'dotsOptions' => ['color' => '#1A2B3C', 'type' => 'rounded'],
    'cornersSquareOptions' => ['color' => '#8564C3', 'type' => 'extra-rounded'],
    'backgroundOptions' => ['color' => '#FFFFFF'],
]);

$ch = curl_init('https://qrcode.fun/api/generate-qr-styled');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
// $result['data'] contains the base64 PNG data URL
echo substr($result['data'], 0, 50);

QRコードライブプレビュー

今すぐPHPでQRコードを生成してみましょう。

QRプレビュー

ネイティブライブラリ vs API

PHP QRコードライブラリとQRCode.fun APIの比較。

機能ネイティブライブラリQRCode.fun API
セットアップの複雑さComposerインストール + GD/ImagickcURL経由の単一HTTPリクエスト
カスタマイズカラー、ロゴ、ラベル(endroid)フルスタイリング:カラー、シェイプ、ロゴ
オフラインサポートはいインターネット接続が必要
メンテナンスComposer更新常に最新
出力形式PNG, SVG, PDF(endroid)PNG, SVG

PHP QRコードの使用例

PHPアプリケーションでのQRコードの一般的なシナリオ。

LaravelとSymfony

LaravelまたはSymfonyコントローラーでユーザープロフィール、二要素認証、決済リンク用のQRコードを生成します。

WordPressプラグイン

投稿、商品、カスタムコンテンツタイプ用のQRコードを生成するWordPressプラグインを構築します。

Eコマース

商品ページ、決済ゲートウェイ、注文追跡、電子レシート用のQRコードを作成します。

PDF請求書

TCPDFまたはFPDFを使用してPDF請求書にQRコードを埋め込み、決済確認と文書リンクに使用します。

よくある質問

PHPでのQRコード生成に関する一般的な質問。

endroid/qr-codeが最も機能豊富な選択肢で、カラー、ロゴ、ラベル、複数の出力形式をサポートしています。chillerlan/php-qrcodeはシンプルな用途向けの軽量な代替手段です。

PHPでQRコード生成を始めましょう

無料のジェネレーターを使用するか、APIをPHPアプリケーションに統合しましょう。