PHP QRコードライブラリ
PHPでQRコードを生成
PHPには優れたQRコードライブラリがあり、endroid/qr-codeは最新のWebアプリに、chillerlan/php-qrcodeは軽量生成に最適です。Laravel、Symfony、WordPressに対応しています。
インストール
Composerを使用してPHP QRコードライブラリをインストールします。
Composer
composer require endroid/qr-codeComposer (alt)
composer require chillerlan/php-qrcodePHPライブラリで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/Imagick | cURL経由の単一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アプリケーションに統合しましょう。