Neste blog vamos aprender como gerar código QR usando PHP passo a passo. Com a ajuda de script PHP simples, você pode gerar código QR para texto, telefone, URL, e-mail e SMS.
Neste projeto você precisa criar dois arquivos:
- qrcode.php
- index.php
PASSO 1: Defina a classe QrCode em qrcode.php:
1. Crie uma classe QrCode. Nesta aula, vamos definir a URL para a API GOOGLE CHART e funções para gerar o código QR para Texto, Telefone, URL, Email e SMS.
class QrCode { }
PASSO 2: Defina o URL da API de gráficos do Google na classe QrCode:
1. Criamos variáveis para armazenar o URL da API de gráficos do Google e os dados que são usados para criar o código QR.
class QrCode { //URL DA API GOOGLE CHART private $apiUrl = 'https://chart.apis.google.com/chart'; // DADOS PARA CRIAR QR CODE private $data; }
PASSO 3: Definir Funções para gerar código QR de diferentes tipos na Classe QrCode:
Temos os seguintes tipos e funções para o mesmo em que podemos gerar o QR Code:
1.URL
// Função que é usada para gerar o tipo de URL do QR Code. função pública URL($url = null) { $this->data = preg_match("#^https?\:\/\/#", $url) ? $url: "https://{$url}"; }
2. Texto
// Função que é utilizada para gerar o tipo TEXTO do QR Code. função pública TEXT($texto) { $this->dados = $texto; }
3. E-MAIL
// Função que é usada para gerar o tipo EMAIL do QR Code. public function EMAIL($email = null, $assunto = null, $message = null) { $this->data = "MATMSG:TO:{$email};SUB:{$assunto};BODY:{$message}; ;"; }
4.TELEFONE
// Função que é usada para gerar o tipo PHONE do QR Code. public function PHONE($phone) { $this->data = "TEL:{$phone}"; }
5.SMS
// Função que é utilizada para gerar o tipo SMS de QR Code. public function SMS($phone = null, $msg = null) { $this->data = "SMSTO:{$phone}:{$msg}"; }
6. CONTATO
// Função que é utilizada para gerar o tipo CONTACT do QR Code. public function CONTACT($name = null, $address = null, $phone = null, $email = null) { $this->data = "MECARD:N:{$name};ADR:{$address};TEL: {$phone};EMAIL:{$email};;"; }
PASSO 4: Definir Funções para salvar a imagem do QR Code na Classe QrCode:
//Função que é usada para salvar o arquivo de imagem qrcode. public function QRCODE($size = 400, $filename = null) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->apiUrl); curl_setopt($ch, CURLOPT_POST, verdadeiro); curl_setopt($ch, CURLOPT_POSTFIEELDS, "chs={$size}x{$size}&cht=qr&chl=" .
PASSO 5: Crie um novo arquivo index.php.
1. Neste arquivo chamamos a função para gerar o QR Code de diferentes tipos que definimos em qrcode.php.
2. Para gerar o Código QR de texto você precisa chamar a função TEXT em seu arquivo index.php.
<?php // Inclui o arquivo qrcode.php. inclua "qrcode.php"; // Cria objetos $qc = new QRCODE(); // Cria o código de texto $qc->TEXT("Knowband"); // Salva o QR Code $qc->QRCODE(400,"Knowband_text.png"); ?>
3. Para gerar o código QR da URL, você precisa chamar a função URL em seu arquivo index.php.
<?php // Inclui o arquivo qrcode.php. inclua "qrcode.php"; // Cria objetos $qc = new QRCODE(); // Cria o código URL $qc->URL("Knowband.com"); // Salva o QR Code $qc->QRCODE(400,"Knowband_url.png"); ?>
4. Para gerar o código QR EMAIL você precisa chamar a função EMAIL em seu arquivo index.php.
<?php // Inclui o arquivo qrcode.php. inclua "qrcode.php"; // Cria objetos $qc = new QRCODE(); // Criar código de EMAIL $qc->EMAIL("Knowband@test.com","Assunto","Mensagem"); // Salva o QR Code $qc->QRCODE(400,"Knowband_email.png"); ?>
5. Para gerar o código QR PHONE você precisa chamar a função PHONE em seu arquivo index.php.
<?php // Inclui o arquivo qrcode.php. inclua "qrcode.php"; // Cria objetos $qc = new QRCODE(); // Cria o código do TELEFONE $qc->PHONE("1234567890"); // Salva o QR Code $qc->QRCODE(400,"Knowband_phone.png"); ?>
6. Para gerar o código QR SMS você precisa chamar a função SMS em seu arquivo index.php.
<?php // Inclui o arquivo qrcode.php. inclua "qrcode.php"; // Cria objetos $qc = new QRCODE(); // Criar código SMS $qc->SMS("1234567890"); // Salva o QR Code $qc->QRCODE(400,"Knowband_sms.png"); ?>
7. Para gerar o código QR CONTACT você precisa chamar a função CONTACT em seu arquivo index.php.
<?php // Inclui o arquivo qrcode.php. inclua "qrcode.php"; // Cria objetos $qc = new QRCODE(); // Criar Código de CONTATO $qc->CONTACT("knowband","Endereço","1234567890","knowband@test.com"); // Salva o QR Code $qc->QRCODE(400,"Knowband_contact.png"); ?>
ETAPA 6: Execute o arquivo de script (index.php) em seu ambiente:
Se tudo correr bem, o nome do arquivo será chamado de “knowband_text.png” e outros que você deseja baixar e salvar em seu computador.
NOTA: Você pode gerar apenas 1 tipo de QR Code por vez.
Clique aqui para baixar o código completo.