Genera Códigos QR con PHP
PHP tiene excelentes bibliotecas de códigos QR como endroid/qr-code para aplicaciones web modernas y chillerlan/php-qrcode para generación ligera. Perfecto para Laravel, Symfony y WordPress.
Instalación
Instala las bibliotecas de códigos QR de PHP usando Composer.
composer require endroid/qr-codecomposer require chillerlan/php-qrcodeGenera Códigos QR con Bibliotecas de PHP
Ejemplos de código usando bibliotecas populares de códigos QR en PHP.
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');Genera Códigos QR vía API en PHP
Llama a la API de QRCode.fun desde PHP usando cURL o Guzzle.
<?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);Vista Previa de Código QR en Vivo
Prueba a generar un código QR con PHP ahora mismo.
Biblioteca Nativa vs API
Compara el uso de una biblioteca de códigos QR en PHP con la API de QRCode.fun.
| Característica | Biblioteca Nativa | QRCode.fun API |
|---|---|---|
| Complejidad de configuración | Composer install + GD/Imagick | Una sola solicitud HTTP vía cURL |
| Personalización | Colores, logotipos, etiquetas (endroid) | Estilizado completo: colores, formas, logotipos |
| Soporte sin conexión | Sí | Requiere internet |
| Mantenimiento | Composer update | Siempre actualizado |
| Formatos de salida | PNG, SVG, PDF (endroid) | PNG, SVG |
Casos de Uso de Códigos QR en PHP
Escenarios comunes para códigos QR en aplicaciones PHP.
Laravel y Symfony
Genera códigos QR en controladores de Laravel o Symfony para perfiles de usuario, autenticación de dos factores y enlaces de pago.
Plugins de WordPress
Construye plugins de WordPress que generan códigos QR para publicaciones, productos y tipos de contenido personalizados.
Comercio Electrónico
Crea códigos QR para páginas de productos, pasarelas de pago, seguimiento de pedidos y recibos digitales.
Facturas en PDF
Incorpora códigos QR en facturas PDF usando TCPDF o FPDF para verificación de pagos y enlace de documentos.
Inmersión Profunda en el Ecosistema de Códigos QR en PHP
PHP impulsa la mayoría de la web, y sus bibliotecas de códigos QR se integran naturalmente con plataformas CMS populares y frameworks.
Integración con Laravel y Service Providers
En Laravel, registra endroid/qr-code como un singleton en un ServiceProvider para inyección de dependencias en toda tu aplicación. Crea un QrCodeService con métodos para diferentes formatos de salida. Usa la fachada Response de Laravel para devolver imágenes QR con headers apropiados y control de caché. Para generación basada en colas, despacha la creación de QR a workers de Laravel Horizon y almacena los resultados en S3 o almacenamiento local.
Plugins de WordPress y WooCommerce
Las bibliotecas de códigos QR en PHP alimentan miles de plugins de WordPress. Construye shortcodes personalizados como [qrcode data="https://..."] que rendericen códigos QR en línea. En WooCommerce, genera códigos QR en la confirmación del pedido para verificación de pago, códigos de recogida y seguimiento de garantía. La API REST de WordPress puede exponer la generación de QR como un endpoint personalizado, permitiendo arquitecturas CMS headless donde el frontend solicita códigos QR vía API.
Configuración del Servidor y Consideraciones de GD/Imagick
La generación de códigos QR en PHP depende de las extensiones GD o Imagick para salida rasterizada. La mayoría de los proveedores de hosting incluyen GD por defecto, pero Imagick ofrece mejor calidad para códigos QR con resolución de impresión. Para hosting compartido con extensiones limitadas, usa chillerlan/php-qrcode que genera salida SVG sin extensiones de imagen. En entornos Docker, instala php-gd mediante apt-get en tu Dockerfile. Para producción, configura OPcache para cachear el código compilado de generación de QR para una ejecución repetida más rápida.
Preguntas Frecuentes
Preguntas comunes sobre la generación de códigos QR con PHP.
Comienza a generar códigos QR con PHP
Usa nuestro generador gratuito o integra la API en tus aplicaciones PHP.