Dev (Back & Front)ARTIGO

Criando QR Codes em PHP com o chillerlan/php-qrcode

Criando QR Codes em PHP com o chillerlan/php-qrcode
Imagem: Rodrigo "pokemaobr" Cardoso

Fala galera, tudo bom? Estamos de volta com a série de artigos sobre bibliotecas úteis para quem desenvolve em PHPPHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) . Hoje mostraremos uma biblioteca muito interessante para você que precisa gerar QR Codes seja para slides, para sua aplicação ou para outras utilidades.

A biblioteca que utilizaremos é a chilleran/php-qrcode. Para utilizá-la você precisa do PHP 7.2 ou superior, também a biblioteca GD.

Para instalar a biblioteca GD em distros debian like por exemplo:

Para PHP 7.2

bash
sudo apt-get install php7.2-gd

Para PHP 7.3

bash
sudo apt-get install php7.3-gd

Caso você use windows, basta inserir a seguinte linha no php.ini

extension=php_gd2.dll

Para instalar a biblioteca é muito simples, como as outras bibliotecas que mostramos. Criaremos uma pasta qrcode e depois instalaremos através do composer.

bash
composer require chillerlan/php-qrcode

A utilização para criar os QR Codes é simples. Basta criar por exemplo uma variável com uma URL e então gerar a imagem. No exemplo abaixo podemos ver como seria essa geração para um site na web. Em um arquivo index.php

php
<?php

require_once 'vendor/autoload.php';

use chillerlan\QRCode\QRCode;

$data = 'https://imasters.com.br'; //inserindo a URL do iMasters

echo '<img src="'.(new QRCode)->render($data).'" />'; //gerando o QRCode em uma tag img

Para verificar o QR Code gerado, usando o servidor PHP embutido, basta executar no seu console.

bash
php -S localhost:80

Depois em seu navegador, basta você digitar: localhost e aparecerá algo assim:

Você pode por exemplo, utilizar outras versões de QR Code ou incluir um error correction feature level. para isso basta instanciar a classe de Options: QROptions. O código do index.php ficaria mais ou menos assim:

<?php

require_once 'vendor/autoload.php';

use chillerlan\QRCode\QRCode;
use chillerlan\QRCode\QROptions;

$data = 'https://imasters.com.br'; //inserindo a URL do iMasters

$options = new QROptions([
'version' => 5, //versao do QRCode
'eccLevel' => QRCode::ECC_L, //Error Correction Feature Level L
]);

echo '<img src="'.(new QRCode($options))->render($data).'" />'; //gerando o QRCode em uma tag img

O resultado seria assim:

Caso você queira por exemplo salvar o QR Code em .png, basta salvar o conteúdo renderizado como .png

<?php

require_once 'vendor/autoload.php';

use chillerlan\QRCode\QRCode;
use chillerlan\QRCode\QROptions;

$data = 'https://imasters.com.br'; //inserindo a URL do iMasters

$options = new QROptions([
'version' => 5, //versao do QRCode
'eccLevel' => QRCode::ECC_L, //Error Correction Feature Level L
'outputType' => QRCode::OUTPUT_IMAGE_PNG, //setando o output como PNG
'imageBase64' => false //evitando que seja gerado a imagem em base64
]);

file_put_contents('image.png',(new QRCode($options))->render($data)); //salvando a imagem como png

O resultado seria algo assim:

 

Espero que vocês tenham gostado e que essa biblioteca ajude você a gerar seus QR Codes com facilidade. Um grande abraço e até a próxima

 

MBA em Engenharia de Softwares Orientado para Serviços pela Metrocamp, Campinas/SP. Bacharel em Matemática Aplicada e Computacional pela Universidade Federal Rural do Rio de Janeiro, Community Manager do iMasters. Programador PHP desde 2002. Evangelista PHPSP. Desenvolve sistemas desde batalhas Pokemon em mIRC, a robôs automatizadores de tarefas.

Ver perfil