QR Code Everywhere!! Mungkin di website / proyek kita juga perlu dibikinin juga tuh biar nggak kalah keren.. Nggak susah kok,, yang penasaran ikutin aja tutorial kali ini.. :D

Membuat dan Menampilkan QR Code secara Dinamis dengan PHP

Salam jagocoding,, kalo biasanya saya selalu berbagi tutorial tentang CSS, kali ini saya ingin berbagi tutorial saya tentang PHP aja.. Iya, PHP aja nggak pake embel-embel yang lain.. Di tutorial kali ini kita akan mencoba membuat, sekaligus menampilkan QR Code. Isi QR Code yang akan kita buat ini terserah sesuai kebutuhan kita.. Bisa diisi nama website kita, alamat fesbuk kita, atau URL website di momen tertentu, dan sebagainya..

Pertama-tama, kita download dulu pluginnya.. Plugin QR Code yang akan kita pakai di tutorial ini saya ambil dari http://sourceforge.net/projects/phpqrcode/files/latest/download?source=files. Tenang aja, plugin ini gratis, tinggal download, terus diextract ke folder project web kita. Hasil ekstrakan kulit manggispluginnya kita biarkan dalam bentuk folder biar tetap rapi. Jadi di folder project saya sekarang isinya adalah 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"; //<-- LOKASI FILE UTAMA PLUGINNYA

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



?>

Cara memakai pluginnya pun nggak begitu susah.. Kita cuma perlu tau parameter inputan apa aja yang harus kita isi.. Parameter pertamanya yaitu teks apa yang ingin kita inputkan ke QR Code tersebut. Parameter kedua isinya file gambar QR Code nanti akan disimpan dimana? parameter ketiga kita menentukan kualitas QR Codenya, parameter keempat isinya besaran ukuran QR Code, dan terakhir besaran paddingnya.

Jadi dari parameter-parameter tersebut, cara membuatnya jadi seperti ini :

<?php
...
//lanjutan yang tadi

#parameter inputan
$isi_teks = "Belajar QR Code itu asik";
$namafile = "coba.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);



?>

Cuma segitu aja? Iya.. cuma segitu aja.. Kalau step by stepnya diikuti dengan tepat, hasilnya bisa kita liat langsung di direktori $tempdir kita tadi.. Hasil QR Code dari coding diatas tadi itu seperti ini nih..

QR Code

 

Simpel kan ya? Penerapan QR Code yang paling umum biasanya untuk mengshare URL website tertentu atau website yang saat itu sedang dikunjungi. Caranya tetap sama, hanya saja kita perlu inputan URL lengkap untuk dishare.. Mungkin sedikit snippet fungsi ini bisa 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 adalah fungsi untuk mendapatkan 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);

setelah itu QR Code ditampilkan dengan tag <img> seperti biasa,, 

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

Taraaa,, jadilah QR Code dinamis yang akan terus berubah-ubah sesuai alamat yang sedang kita kunjungi.. 

Hasil QR Code Dinamis

 

Sekian tutorial saya kali ini,, semoga berguna buat kita semua deh.. Seperti biasa, link demo dan download sudah saya sediakan untuk keperluan belajar bersama.. Sampai ketemu di tutorial selanjutnya~

 

 

 

 

 


About Author

Christian Rosandhy


Comment & Discussions

  • Lutfi Febriandita
    keren ini gan.. ane baru liat yg ginian :D

  • Muhammad fhauzan
    keren gan ...
    hmmm ....
    ane pingin pasang ini gan ..
    cuma kalo ane liat ini cuma buat di web y aja y gan ..
    klo mau baca/scan dengan kamera hp ya gimna gan ...
    hehehe maaf bayak nayak :D

    • Christian Rosandhy

      QR code yg kayak gitu bisa kok discan pake hape.. tergantung untuk keperluan apa dulu.. Masing-masing keperluan punya template text (kalo bhasa kerennya header) yg agak beda..

      Misalnya, kalo QR Code dipake untuk link, cukup teks biasa URLnya langsung diinput, kalo dipake untuk kontak telepon, template text inputannya kira-kira begini :
      BEGIN:VCARD
      VERSION:2.1
      N:;Company Name
      FN:Company Name
      ORG:Company Name
      TEL;WORK;VOICE;PREF:+16045551212
      TEL;WORK;FAX:+16045551213
      ADR;WORK;POSTAL;PARCEL;DOM;PREF:;;123 main street;vancouver;bc;v0v0v0;canada
      EMAIL;INTERNET;PREF:user@example.com
      URL;WORK;PREF:http://www.example.com/
      NOTE:http://www.example.com/
      CATEGORIES:BUSINESS,WORK
      END:VCARD

      dan semacamnya gitu deh..


  • Dennis Pandu Utomo
    Gan, makasih tutorialnya gan... sangat bermanfaat.

    Gan ane mau tanya, bisakah php di beri QR Code Scanner, misal di Laptop scan menggunakan Webcam, Android scan menggunakan Back Camera, seperti Aplikasi2 Android tetapi berbasiskan web php? Lalu setelah di scan otomatis akan redirect ke Linknya. Kalo boleh tutorial seperti apa gan?

    • Christian Rosandhy

      kalau di Android,, rata-rata kameranya udah built in scan QR Code.. kalau di PHP sendiri sih belum pernah nyoba, karena QR Code sendiri kan tujuannya utk respon cepat (Quick Response), jadi kurang cocok diaplikasikan di PC / laptop gitu deh..


  • Kristianto Wijaya
    Kalo mau isi data qr nya dengan
    Nik
    Fakultas
    Dan ada jam masuk secara real time itu codingnya gimana ya gan

  • 'Webber Van Botter
    mas kalo kita mau ngeletakkin qr codenya di file rtf gimana ya ?
    dan isi qr codenya berasal dari database mysql?
    ado contohnya gak ?

  • Please LOGIN before if you want to give the comment.