Como generar QR-Codes con PHP

Básicamente lo que haremos es usar una librería para crear los QR-Codes que necesitamos. La librería se llama PHP QR Code, y nos permite crear todo tipo de QR-Codes como URLs, teléfonos, emails, etc…

Su uso básico es bastante simple:

include 'phpqrcode/qrlib.php';

// El nombre del fichero que se generará (una imagen PNG).
$file = 'jr-qrcode.png'; 
// La data que llevará.
$data = 'https://joserobinson.com/'; 

// Y generamos la imagen.
QRcode::png($data, $file);

Al generar la imagen podemos especificar otros dos parámetros: la capacidad de corrección de errores y el tamaño de la imagen.

Un ejemplo seria este:

include 'phpqrcode/qrlib.php';

$file = 'jr-qrcode.png'; 
$data = 'https://joserobinson.com/'; 

// El tamaño de la imagen.
$size = 10; 
// Capacidad de corrección de errores.
$level = QR_ECLEVEL_H; 

QRcode::png($data, $file, $level, $size);

El tamaño es un valor entre 1 y 10. La capacidad de corrección de errores soporta 4 valores:

  • QR_ECLEVEL_L: 7% de las claves se pueden restaurar
  • QR_ECLEVEL_M: 15% de las claves se pueden restaurar
  • QR_ECLEVEL_Q: 25% de las claves se pueden restaurar
  • QR_ECLEVEL_H: 30% de las claves se pueden restaurar

Normalmente la librería interpreta el tipo de data automáticamente, si es una url, un email o un texto simple, pero algunos tipos de datos tienen un formato especifico:

// Un telefono:
$data = 'tel:8093334444';

// Un VCard:
// Mas info sobre VCard: http://en.wikipedia.org/wiki/VCard
$data = "BEGIN:VCARD\n"
. "VERSION:2.1\n"
. "N:Robinson;Jose\n"
. "FN:Jose Robinson\n"
. "TITLE:Web Developer\n"
. "TEL;WORK;VOICE:(111) 555-1212\n"
. "END:VCARD";

La web oficial del proyecto es:
http://phpqrcode.sourceforge.net/

Y aquí tienes la documentación de la librería.
PHP QR Code Documentation

RECURSOS

Puedes descargar los ficheros para utilizar el script.

Descargar
CompartirTwitter Facebook Google+ Pinterest LinkedIn Flipboard Delicious Addthis