Generación dinámica de un código QR usando PHP

Hay una serie de bibliotecas de código abierto disponibles en línea que se pueden utilizar para generar un código de respuesta rápida (QR). Una buena biblioteca de código abierto para la generación de códigos QR en PHP está disponible en sourceforge . Solo necesita ser descargado y copiado en la carpeta del proyecto. Esto incluye un módulo llamado «phpqrcode» en el que hay un archivo llamado «qrlib.php». Este archivo debe estar incluido en el código para usar una función llamada ‘png()’, que está dentro de la clase QRcode. png() genera directamente un código QR en el navegador cuando pasamos algún texto como parámetro, pero también podemos crear un archivo y almacenarlo.

Sintaxis:

QRcode::png($text, $file, $ecc, $pixel_Size, $frame_Size);

Parámetros: esta función acepta cinco parámetros, como se mencionó anteriormente y se describe a continuación:

  • $texto: este parámetro proporciona el mensaje que debe estar en código QR. Es un parámetro obligatorio.
  • $file: Especifica el lugar para guardar el QR generado.
  • $ecc: este parámetro especifica la capacidad de corrección de errores de QR. Tiene 4 niveles L, M, Q y H.
  • $pixel_Size: Esto especifica el tamaño de píxel de QR.
  • $frame_Size: Esto especifica el tamaño de Qr. Es del nivel 1-10.

Ejemplo 1: Programa PHP para generar Código QR.

<?php
  
// Include the qrlib file
include 'phpqrcode/qrlib.php';
  
// $text variable has data for QR 
$text = "GEEKS FOR GEEKS";
  
// QR Code generation using png()
// When this function has only the
// text parameter it directly
// outputs QR in the browser
QRcode::png($text);
?>

Producción:
Salida QR

Nota: Esta salida se genera directamente en el navegador. Este código no se ejecutará en un IDE en línea porque no puede incluir el módulo ‘phpqrcode’.

Ejemplo 2: programa PHP para generar código QR y crear archivo.

<?php
// Include the qrlib file
include 'phpqrcode/qrlib.php';
$text = "GEEKS FOR GEEKS";
  
// $path variable store the location where to 
// store image and $file creates directory name
// of the QR code file by using 'uniqid'
// uniqid creates unique id based on microtime
$path = 'images/';
$file = $path.uniqid().".png";
  
// $ecc stores error correction capability('L')
$ecc = 'L';
$pixel_Size = 10;
$frame_Size = 10;
  
// Generates QR Code and Stores it in directory given
QRcode::png($text, $file, $ecc, $pixel_Size, $frame_size);
  
// Displaying the stored QR code from directory
echo "<center><img src='".$file."'></center>";
?>

Producción:
5cd472c5ad3ef.png

Nota: La salida de ambos ejemplos es diferente. En el primer ejemplo, la salida se mostrará en el marco predeterminado y el tamaño de píxel que se genera directamente en el navegador, mientras que la salida del segundo ejemplo es un archivo ‘png’ con un tamaño de píxel y marco de 10 almacenado en un directorio.

Publicación traducida automáticamente

Artículo escrito por AvinashMishra25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *