PhpQrCode – Librería PHP para crear códigos QR
Vamos a descubrir una librería php para crear códigos QR en tu página web o aplicación. En este caso PhpQrCode que es gratuita.
Ya vimos hace algún tiempo, unas soluciones online gratuitas para descargar nuestros códigos QR en formato imagen. Vas a la web, pones el enlace, te crea el código Qr y lo descargas.
En muchas ocasiones, eso o no es suficiente, o necesitas algo que se ajuste más a tu aplicación o web. Qué pasa si necesitamos crear códigos QR dinámicos? Que la aplicación se encargue de crear el código QR según los datos que le pasemos. Veamos con un ejemplo cómo utilizar una librería PHP para crear códigos QR en nuestra página.
La librería en cuestión es PhpQrCode. El enlace lo tenéis en la parte inferior del artícilo.
Ejemplo
Tenemos una aplicación que muestra fichas de restaurantes y hoteles. En cada una de estas fichas, haremos que se cree dinámicamente el código QR de la ficha en cuestión. Eso es, estamos en:
https://miportaldehoteles.com/ficha/el-asador-del-oso
Si estamos en este enlace, se nos mostrará todos los datos, y además un código QR para que visites su web.
Utilizamos librería PHP para crear QR
Para poder utilizar esta librería en cuestión, deberemos hacer los siguiente:
// Incluimos la liberia que hemos subido a la carpeta libs
include('libs/phpqrcode/qrlib.php');
// Averiguamos url del establecimiento
$link = $store->getWeb();
// Exportamos una imagen llamándola storeID.png a la carpeta qr/
QRcode::png($link, "qr/". $store->ID .".png", QR_ECLEVEL_L, 10, 2);
// Mostramos la imagen creada (QR de la web del establecimiento)
echo "<div><img src='/qr/". $store->ID .".png'/></div>";
Si os fijáis es muy sencillo. Llamar a libería, crear el código Qr (en este caso a partir de la URL del establecimiento) y luego mostrar la imagen.
Espero que este ar´tiulo os sea de utilidad.
Más información
buenas noches.
disculpa tengo un problema al llamar la clase QRcode. No me lo reconoce.
Este es mi codigo:
<?php
// Incluimos la liberia que hemos subido a la carpeta libs
include('phpqrcode/qrlib.php');
// Exportamos una imagen llamándola storeID.png a la carpeta qr/
QRcode::png("prueba", "temp/test.png", 'L', 10, 2);
// Mostramos la imagen creada (QR de la web del establecimiento)
echo "»;
?>
Este es el error que me muestra:
Fatal error: Uncaught Error: Call to undefined function ImageCreate() in C:\xampp\htdocs\EstacionaTec\phpqrcode\qrimage.php:74 Stack trace: #0 C:\xampp\htdocs\EstacionaTec\phpqrcode\qrimage.php(32): QRimage::image(Array, 10, 2) #1 C:\xampp\htdocs\EstacionaTec\phpqrcode\qrencode.php(494): QRimage::png(Array, ‘temp/test.png’, 10, 2, false) #2 C:\xampp\htdocs\EstacionaTec\phpqrcode\qrencode.php(286): QRencode->encodePNG(‘prueba’, ‘temp/test.png’, false) #3 C:\xampp\htdocs\EstacionaTec\generarqr.php(9): QRcode::png(‘prueba’, ‘temp/test.png’, ‘L’, 10, 2) #4 {main} thrown in C:\xampp\htdocs\EstacionaTec\phpqrcode\qrimage.php on line 74
Si pudieras ayudarme a ver en donde está el error te lo agradecería mucho.
Saludos.
No funciona el codigo, me tira el siguiente error:
Fatal error: Uncaught Error: Call to undefined function ImageCreate() in C:\xampp\htdocs\PRUEBAS\Descargar_codigos_QR_con_PHP\Descargar codigos QR con PHP\phpqrcode\qrimage.php:74 Stack trace: #0 C:\xampp\htdocs\PRUEBAS\Descargar_codigos_QR_con_PHP\Descargar codigos QR con PHP\phpqrcode\qrimage.php(32): QRimage::image(Array, 10, 2) #1 C:\xampp\htdocs\PRUEBAS\Descargar_codigos_QR_con_PHP\Descargar codigos QR con PHP\phpqrcode\qrencode.php(494): QRimage::png(Array, ‘resultado.png’, 10, 2, false) #2 C:\xampp\htdocs\PRUEBAS\Descargar_codigos_QR_con_PHP\Descargar codigos QR con PHP\phpqrcode\qrencode.php(286): QRencode->encodePNG(‘https://www.bau…’, ‘resultado.png’, false) #3 C:\xampp\htdocs\PRUEBAS\Descargar_codigos_QR_con_PHP\Descargar codigos QR con PHP\index.php(43): QRcode::png(‘https://www.bau…’, ‘resultado.png’, 0, 10, 2) #4 {main} thrown in C:\xampp\htdocs\PRUEBAS\Descargar_codigos_QR_con_PHP\Descargar codigos QR con PHP\phpqrcode\qrimage.php on line 74