Um gerador de QR Code PHP baseado na implementação de Kazuhiko Arase, com namespace, limpo, aprimorado e outras coisas.
Ele também possui um leitor de QR Code baseado em uma porta PHP da biblioteca ZXing.
Atenção: agora também existe uma porta javascript no NPM: @chillerlan/qrcode.
Criação de Códigos QR Modelo 2, Versão 1 a 40
Níveis ECC L/M/Q/H suportados
Suporte ao modo misto (os modos de codificação podem ser combinados em um símbolo QR). Modos suportados:
kanji (japonês, Shift-JIS)
hanzi (chinês simplificado, GB2312/GB18030) conforme definido em GBT18284-2000
Apoio ICE
numérico
alfanumérico
Binário de 8 bits
Byte duplo de 13 bits:
Módulos de saída flexíveis e facilmente extensíveis, suporte integrado para os seguintes formatos de saída:
GdImage (gráficos raster: avif, bmp, gif, jpeg, png, webp)
ImageMagick (vários formatos de imagem suportados)
Tipos de marcação: SVG, HTML, etc.
Tipos de string: JSON, texto simples, etc.
Postscript encapsulado (EPS)
PDF via FPDF
Leitor de QR Code (via GD e ImageMagick)
PHP 8.2+
ext-gd
para saída baseada em QRGdImage
ext-imagick
com ImageMagick instalado
ext-fileinfo
exigido pela saída QRImagick
setasign/fpdf
para o módulo de saída de PDF
intervention/image
para saída alternativa GD/ImageMagick
ext-mbstring
opcional:
Para o leitor de QR Code, é necessário ext-gd
ou ext-imagick
!
O manual do usuário está em https://php-qrcode.readthedocs.io/ (fontes)
Uma documentação da API criada com phpDocumentor pode ser encontrada em https://chillerlan.github.io/php-qrcode/
A documentação do contêiner QROptions
pode ser encontrada aqui: chillerlan/php-settings-container
Importante: Por favor, use os exemplos do branch que corresponde à versão do php-qrcode instalada ( v4.x, v5.x, dev-main )!
Consulte o guia de instalação para obter mais informações!
composer require chillerlan/php-qrcode
{ "require": { "php": "^8.2", "chillerlan/php-qrcode": "dev-main#<commit_hash>" } }
Nota: substitua dev-main
por uma restrição de versão, por exemplo, ^5.0
- consulte os lançamentos para versões válidas.
Queremos codificar este URI para um autenticador móvel em uma imagem QRcode:
$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net';// rápido e simples:echo '<img src="'.(novo QRCode)->render($data).'" alt="Código QR" />';
Espere, o que foi isso? Por favor, de novo, mais devagar! Consulte Uso avançado no manual. Além disso, dê uma olhada na pasta de exemplos para mais alguns exemplos de uso.
Usar o leitor de QR Code integrado é bastante simples:
// geralmente é uma boa ideia envolver o leitor em um bloco try/catch porque ele IRÁ lançar eventualmentetry{ $result = (new QRCode)->readFromFile('path/to/file.png'); // -> DecoderResult// agora você pode usar a instância de resultado...$content = $result->data; $matriz = $resultado->getMatriz(); // -> QRMatrix// ...ou simplesmente converta-o em string para obter o conteúdo:$content = (string)$result; }catch(Throwable $e){ // oopsies!}
Olá, confira alguns dos meus outros projetos que são muito mais legais que qrcodes!
js-qrcode – uma porta javascript desta biblioteca
php-authenticator - uma implementação do Google Authenticator (veja o exemplo do autenticador)
php-httpinterface - uma implementação PSR-7/15/17/18
php-oauth - uma biblioteca cliente OAuth 1/2, totalmente compatível com PSR-7/PSR-17/PSR-18
php-database - um cliente de banco de dados e construtor de consultas para MySQL, Postgres, SQLite, MSSQL, Firebird
php-tootbot - uma biblioteca de bot Mastodon (veja @dwil)
Não me responsabilizo por CPUs derretidas, aplicativos enganados, falhas de login, etc. Use por sua conta e risco!
Partes deste código são portadas para PHP a partir do projeto ZXing e licenciadas sob a Licença Apache, Versão 2.0.
A documentação está licenciada sob a licença Creative Commons Attribution 4.0 International (CC BY 4.0).
A palavra "QR Code" é uma marca registrada da DENSO WAVE INCORPORATED
https://www.qrcode.com/en/faq.html#patentH2Title