PHP로 QR코드 생성
PHP에는 최신 웹 앱을 위한 endroid/qr-code와 경량 생성을 위한 chillerlan/php-qrcode 등 우수한 QR코드 라이브러리가 있습니다. Laravel, Symfony, WordPress에 적합합니다.
설치
Composer를 사용하여 PHP QR코드 라이브러리를 설치하세요.
composer require endroid/qr-codecomposer 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');PHP에서 API로 QR코드 생성
PHP에서 cURL 또는 Guzzle을 사용하여 QRCode.fun 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코드를 생성해 보세요.
네이티브 라이브러리 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 컨트롤러에서 사용자 프로필, 2단계 인증, 결제 링크를 위한 QR코드를 생성합니다.
WordPress 플러그인
게시물, 제품, 커스텀 콘텐츠 유형을 위한 QR코드를 생성하는 WordPress 플러그인을 구축합니다.
전자상거래
제품 페이지, 결제 게이트웨이, 주문 추적, 전자 영수증을 위한 QR코드를 생성합니다.
PDF 송장
TCPDF 또는 FPDF를 사용하여 PDF 송장에 QR코드를 임베드하여 결제 확인과 문서 링크에 사용합니다.
PHP QR코드 생태계 심층 분석
PHP는 웹의 대부분을 구동하며, QR코드 라이브러리는 인기 CMS 플랫폼 및 프레임워크와 자연스럽게 통합됩니다.
Laravel 통합 및 Service Providers
endroid/qr-code를 싱글톤 ServiceProvider로 등록합니다. QrCodeService를 생성합니다. Laravel Horizon workers를 사용하여 큐 기반 생성을 수행합니다.
WordPress 및 WooCommerce 플러그인
[qrcode data="..."]와 같은 숏코드를 구축하여 인라인 QR코드를 표시합니다. WooCommerce에서 결제 확인용 QR코드를 생성합니다. REST API로 헤드리스 CMS에 제공합니다.
서버 설정과 GD/Imagick
PHP QR코드 생성은 GD 또는 Imagick에 의존합니다. chillerlan/php-qrcode는 확장 없이 SVG를 생성할 수 있습니다. OPcache를 설정하여 반복 실행 속도를 높입니다.
자주 묻는 질문
PHP로 QR코드 생성에 관한 일반적인 질문.