membaca qr code dengan php

Membaca Qrcode Dengan PHP

Salam coding,, kalo umumnya LKP Naura senantiasa berbagi tutorial tentang CSS, kali ini saya berkeinginan berbagi tutorial saya tentang membaca qr code dengan php, PHP aja nggak pake embel-embel yang lain.. Di tutorial kali ini kita akan mencoba membikin, sekalian memperlihatkan QR Code. Isi QR Code yang akan kita buat ini terserah sesuai kebutuhan kita.. Bisa diisi nama website kita, domisili fesbuk kita, atau URL website di peristiwa tertentu, dan sebagainya..

Pertama-tama, kita unduh dahulu pluginnya.. Plugin QR Code yang akan kita gunakan di tutorial ini saya ambil dari http://sourceforge.net/projects/phpqrcode/files/latest/unduh?source=files. Tenang aja, plugin ini free, tinggal unduh, terus diextract ke folder project website kita. Hasil ekstrakan kulit manggispluginnya kita biarkan dalam format folder biar konsisten rapi. Jadi di folder project saya kini isinya merupakan folder dengan nama phpqrcode, dan file index.php.

Mari kita ke file index.php yang masih kosong ini.. Langkah pertamanya, kita include file library utama plugin tsb.. namanya qrlib.php.. setelah itu kita buat sebuah folder untuk menampung gambar QR Code kita nantinya.

<?php
include "phpqrcode/qrlib.php"; 

$tempdir = "temp/"; //<-- Nama Folder file QR Code kita nantinya akan disimpan
if (!file_exists($tempdir))#kalau folder belum ada, maka buat.
    mkdir($tempdir);
?>

Metode menerapkan pluginnya pun nggak semacam itu susah.. Kita cuma perlu tau parameter inputan apa aja yang semestinya kita isi.. Parameter pertamanya yaitu teks apa yang mau kita inputkan ke QR Code hal yang demikian. Parameter kedua isinya file gambar QR Code nanti akan disimpan dimana? parameter ketiga kita menentukan mutu QR Codenya, parameter keempat isinya besaran ukuran QR Code, dan terakhir besaran paddingnya.

Jadi dari parameter-parameter hal yang demikian, sistem membuatnya jadi seperti ini :

<?php
...
//lanjutkan Kode Sebelumnya
#parameter inputan
$isi_teks = "LKP Naura tempat Kursus Coding";
$namafile = "lkpnaura.png";
$quality = 'H'; //ada 4 pilihan, L (Low), M(Medium), Q(Good), H(High)
$ukuran = 5; //batasan 1 paling kecil, 10 paling besar
$padding = 0;
QRCode::png($isi_teks,$tempdir.$namafile,$quality,$ukuran,$padding);
?>

Hanya segitu aja? Iya.. cuma segitu aja.. Jikalau step by stepnya ditiru dengan ideal, kesudahannya dapat kita liat segera di direktori $tempdir kita tadi.. Hasil QR Code dari coding diatas tadi itu seperti dibawah ini

qrcode

Sederhana kan ya? Penerapan QR Code yang paling biasa lazimnya untuk mengshare URL website tertentu atau website yang saat itu sedang dikunjungi. Caranya konsisten sama, cuma saja kita perlu inputan URL komplit untuk dishare.. Mungkin sedikit snippet fungsi ini dapat membantu

<?php
function get_current_url($s, $use_forwarded_host=false)
{
    $ssl = (!empty($s['HTTPS']) && $s['HTTPS'] == 'on') ? true:false;
    $sp = strtolower($s['SERVER_PROTOCOL']);
    $protocol = substr($sp, 0, strpos($sp, '/')) . (($ssl) ? 's' : '');
    $port = $s['SERVER_PORT'];
    $port = ((!$ssl && $port=='80') || ($ssl && $port=='443')) ? '' : ':'.$port;
    $host = ($use_forwarded_host && isset($s['HTTP_X_FORWARDED_HOST'])) ? $s['HTTP_X_FORWARDED_HOST'] : (isset($s['HTTP_HOST']) ? $s['HTTP_HOST'] : null);
    $host = isset($host) ? $host : $s['SERVER_NAME'] . $port;
    return $protocol . '://' . $host . $s['REQUEST_URI'];
}
?>

Itu ialah fungsi untuk menerima URL yang sedang dikunjungi.. Jika fungsi get_current_url itu kita gabungkan dengan fungsi pembuatan QR Code tadi seperti ini

<?php
$isi_teks = get_current_url($_SERVER); //inputan fungsi tadi itu cuma $_SERVER aja
$namafile = "url_saat_ini.png";
$quality = 'H';
$ukuran = 4;
$padding = 2;
QRCode::png($isi_teks,$tempdir.$namafile,$quality,$ukuran,$padding);
?>

Kemudian QRCode ditampilkan dengan tag <img> seperti biasa

<img src="temp/url_saat_ini.png">

Akhirnya QRCode dinamis yang akan terus berubah-ubah sesuai alamat url yang sedang dikunjungi

qrcode dinamis

Demikianlah Tutorial Membaca Qrcode Dengan PHP, Semoga Bermanfaat

Tinggalkan Balasan

Need Help? Chat with us