qrcode phpqrcode lib gratis generar generador example ejemplo desde datos codigo code php qr-code

phpqrcode - qr lib



Generación dinámica de un código QR con PHP (7)

Intento generar códigos QR en mi sitio web. Todo lo que tienen que hacer es tener una URL en ellos, que proporcionará una variable en mi sitio. ¿Cuál sería la forma más fácil de hacer esto?


He estado usando google qrcode api por algún tiempo, pero no me gustó porque me requiere estar en Internet para acceder a la imagen generada.

Hice una pequeña investigación de línea de comandos y descubrí que linux tiene una herramienta de línea de comandos qrencode para generar códigos qr.

Escribí este pequeño guión. Y lo bueno es que la imagen generada tiene menos de 1 KB de tamaño. Bueno, los datos suministrados son simplemente una url.

$url = ($_SERVER[''HTTPS''] ? "https://" : "http://").$_SERVER[''HTTP_HOST''].''/profile.php?id=''.$_GET[''pid'']; $img = shell_exec(''qrencode --output=- -m=1 ''.escapeshellarg($url)); $imgData = "data:image/png;base64,".base64_encode($img);

Luego en el html cargo la imagen:

<img class="emrQRCode" src="<?=$imgData ?>" />

Solo necesitas haberlo instalado. [la mayoría de las aplicaciones de imágenes en Linux lo habrían instalado debajo del capó sin que te dieras cuenta.


La biblioteca endroid / QrCode es fácil de usar, está bien mantenida y puede instalarse utilizando el compositor. También hay un bundle para usar directamente con Symfony.

Instalación:

$ composer require endroid/qrcode

Uso:

<?php use Endroid/QrCode/QrCode; $qrCode = new QrCode(); $qrCode ->setText(''Life is too short to be generating QR codes'') ->setSize(300) ->setPadding(10) ->setErrorCorrection(''high'') ->setForegroundColor(array(''r'' => 0, ''g'' => 0, ''b'' => 0, ''a'' => 0)) ->setBackgroundColor(array(''r'' => 255, ''g'' => 255, ''b'' => 255, ''a'' => 0)) ->setLabel(''Scan the code'') ->setLabelFontSize(16) ->setImageType(QrCode::IMAGE_TYPE_PNG) ; // now we can directly output the qrcode header(''Content-Type: ''.$qrCode->getContentType()); $qrCode->render(); // or create a response object $response = new Response($qrCode->get(), 200, array(''Content-Type'' => $qrCode->getContentType()));


La biblioteca phpqrcode es muy rápida de configurar y la documentación API es fácil de entender.

Además de la respuesta de abaumg, adjunté 2 ejemplos en PHP de http://phpqrcode.sourceforge.net/examples/index.php

1. Codificador de código QR

primero incluya la biblioteca de su ruta local

include(''../qrlib.php'');

luego para mostrar la imagen directamente como una secuencia PNG, por ejemplo:

QRcode::png(''your texte here...'');

para guardar el resultado localmente como una imagen PNG:

$tempDir = EXAMPLE_TMP_SERVERPATH; $codeContents = ''your message here...''; $fileName = ''qrcode_name.png''; $pngAbsoluteFilePath = $tempDir.$fileName; $urlRelativeFilePath = EXAMPLE_TMP_URLRELPATH.$fileName; QRcode::png($codeContents, $pngAbsoluteFilePath);

2. Decodificador de código QR

Ver también el decodificador zxing :

http://zxing.org/w/decode.jspx

Bastante útil para verificar la salida.

3. Lista de formato de datos

Una lista de formato de datos que puede usar en su código QR de acuerdo con el tipo de datos:

  • URL del sitio web: http://.com (incluido el protocolo http:// )
  • dirección de correo electrónico: mailto: [email protected]
  • Número de teléfono: +16365553344 (incluido el código de país)
  • Mensaje SMS: smsto: número: mensaje
  • Mensaje MMS: mms: número: asunto
  • Video de YouTube: youtube: // ID (puede funcionar en iPhone, no estandarizado)

más tipo de datos en http://blog.thenetimpact.com/2011/07/decoding-qr-codes-how-to-format-data-for-qr-code-generators/



Sé que la pregunta es cómo generar códigos QR usando PHP, pero para otros que están buscando una manera de generar códigos para sitios web haciendo esto en javascript puro es una buena manera de hacerlo. El plugin jquery-qrcode jquery lo hace bien.


Vale la pena agregar que, además de la biblioteca de códigos QR publicada por @abaumg , Google proporciona una Código QR API QR Codes API muchas gracias a @Toukakoukan por la actualización del enlace .

Para usar esto, básicamente:

https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=http%3A%2F%2Fwww.google.com%2F&choe=UTF-8

  • 300x300 es el tamaño de la imagen QR que desea generar,
  • el chl es la cadena codificada en url que quiere cambiar a un código QR, y
  • el choe es la codificación (opcional).

El enlace, arriba, da más detalles, pero para usarlo simplemente haga que el src de una imagen apunte al valor manipulado, así:

<img src="https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=http%3A%2F%2Fwww.google.com%2F&choe=UTF-8" title="Link to Google.com" />

Manifestación:


qrcode-generator en Github. La secuencia de comandos más simple y funciona como encanto.

Pros:

  • Sin dependencia de terceros
  • Sin limitaciones para el número de generaciones de código QR