Pembuat Kode QR PHP dengan Perpustakaan phpqrcode

0
(0)

oleh Vincy. Terakhir diubah pada 30 Maret 2023.

Kode QR (kode Respon Cepat) adalah format gambar yang dapat dibaca mesin yang berisi kotak hitam dan putih. Ini digunakan untuk menyimpan informasi seperti URL, ID produk, dll. Ini adalah jenis barcode matriks atau barcode dua dimensi.

Ini adalah bentuk yang nyaman untuk menyimpan dan mengambil data sederhana dan menjadi semakin populer dengan munculnya smartphone. Kamera di smartphone dapat bertindak sebagai pembaca dan membaca kode QR serta membantu menguraikan data yang tersimpan di dalamnya.

Artikel ini memberikan banyak contoh jika Anda menginginkan solusi untuk menghasilkan kode QR di PHP. Ada banyak perpustakaan PHP yang tersedia untuk menghasilkan kode QR. Artikel ini menggunakan perpustakaan kode QR PHP.

1. Contoh cepat

Contoh cepat ini mengembalikan kode QR ke browser dalam satu baris. Ini menghasilkan output sebagai aliran PNG.

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';

// Displays QR Code image to the browser
QRcode::png('PHP QR Code :)');

Menginstal pustaka kode QR PHP

Unduh versi pustaka terbaru dan ekstrak ke folder vendor aplikasi Anda. Kode sumber yang dapat diunduh dalam artikel ini memiliki perpustakaan.

Semua contoh dalam artikel ini memiliki kode untuk menyertakan file perpustakaan yang sesuai untuk menggunakan fiturnya.

Pada artikel sebelumnya, kita telah melihat kode untuk generator kode QR PHP menggunakan pustaka tc-lib-barcode.

data kode qr

2. Tampilkan kode QR menggunakan gambar HTML

Untuk menampilkan kode QR menggunakan tag gambar HTML, tautkan sumber gambar HTML ke file PHP yang mengembalikan data kode QR PNG.

File generate.php mengembalikan kode QR dalam kode di bawah ini menggunakan pustaka PHP QrCode. Gambar HTML merujuk ke file ini untuk menunjukkan kode QR di browser.

tampilkan-qr-kode-dalam-HTML-img/generate.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';

// Displays QR Code image to the browser
QRcode::png('PHP QR Code :)');
<?php
require_once __DIR__ . '/../vendor/phpqrcode/qrlib.php';

// outputs image as PNG that can be refered to a HTML image 'src'
QRcode::png('PHP QR Code :)');
?>

tampilkan-qr-kode-dalam-HTML-img/view.php

<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/generate.php" />

2. Meneruskan argumen ke pembuat kode QR

Meneruskan parameter ke pembuat kode QR membantu melakukan pemrosesan dinamis tentang parameter tersebut.

Misalnya, kami dapat mengirimkan id kontak untuk mengambil informasi kontak untuk menggabungkannya dengan keluaran kode QR.

Contoh ini menunjukkan cara mengirim parameter dan memprosesnya di generator QR.

File view.php menyiapkan parameter kode QR di PHP. Kemudian, ia mengirimkannya ke generate.php dalam kueri. URL ini dengan parameter kode QR ditentukan ke sumber gambar HTML.

tampilkan-qr-kode-dalam-html-img/view.php

<?php
// initialize PHP parameter to send to the QR code generator
$QRParameter = 1234;
?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/generate.php?id=<?php echo $QRParameter; ?>" />

Dalam file generate.php ini, ia melakukan manipulasi sederhana pada argumen yang diteruskan. Itu mengawali sebuah string dengan parameter GET yang diterima dan membundel baris yang dimanipulasi ke kode QR PNG.

tampilkan-qr-kode-dalam-html-img/generate.php

<?php
if (empty($_GET['id'])) {
    echo "<b>ERROR:</b> Bad request. Required parameters are missing.";
    exit;
} else {
    require_once __DIR__ . '/../vendor/phpqrcode/qrlib.php';
    $inputString = $_GET['id'];

    // Do not return anything to the browser
    ob_start("callback");
    // Process the input string
    $codeText="DEMO - " . $inputString;
    // end of processing
    $debugLog = ob_get_contents();
    ob_end_clean();
    // outputs QR code as a PNG data
    QRcode::png($codeText);
}
?>

3. Simpan kode QR di server

Contoh ini menyimpan kode QR yang dihasilkan di server.

Ini mendefinisikan data kode QR dan akhiran nama file png dalam sebuah array. Kemudian, ia menggunakannya saat membuat target untuk menyimpan kode QR.

simpan-qr-kode-di-server.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';

// how to configure silent zone (frame) size
$qrContent = array('content' => 'Contact information', 'slug' => 'contact-info');

$target = "uploads/qr-code-dir/";
$filePath = $target . 'ouput-qr-code-' . $qrContent['slug'] . '.png';

if (!file_exists($filePath)) {
    QRcode::png($qrContent['content'], $filePath);
}
?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $filePath; ?>" />

4. Konfigurasi Tingkat ECC kode QR, faktor Zoom, dan ukuran Bingkai

Library QRCode PHP mendefinisikan konstanta untuk level ECC yang berbeda, faktor Zoom, dan ukuran Frame. Faktor-faktor ini digunakan untuk tujuan berikut saat membuat kode QR.

Program ini membuat kode QR dalam level L, M, Q, dan H dengan konstanta QR yang sesuai.

  • Level ECC adalah persentase kerusakan yang diperbolehkan tanpa mempengaruhi pembacaan data.
  • Faktor zoom adalah resolusi yang diizinkan yang dapat diubah berdasarkan kasus penggunaan.
  • Ukuran bingkai zona senyap – Ukuran bingkai zona senyap atau senyap bervariasi berdasarkan matriks yang berbeda. Mengatur kode QR di atas atau sama dengan 4 blok disarankan.

qr-code-ecc-level.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';
require_once __DIR__ . '/vendor/phpqrcode/qrconst.php';

$qrContent="Demo data to bundle into a QR code";

$target = "uploads/ecc-level/";

// generating QR code in the 4 ECC level
QRcode::png($qrContent, $target . 'l.png', QR_ECLEVEL_L);
QRcode::png($qrContent, $target . 'm.png', QR_ECLEVEL_M);
QRcode::png($qrContent, $target . 'q.png', QR_ECLEVEL_Q);
QRcode::png($qrContent, $target . 'h.png', QR_ECLEVEL_H);

?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $target; ?>l.png" />
<img src="<?php echo $target; ?>m.png" />
<img src="<?php echo $target; ?>q.png" />
<img src="<?php echo $target; ?>h.png" />

Program ini menambahkan faktor pembesaran 1 hingga 4 dengan konstanta QR_ECLEVEL_L ECC.

qr-code-pixel-zoom-factor.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';

$qrContent="Demo data to bundle into a QR code with zoom factor";

$target = "uploads/pixel-zoom-qr-code/";

// generating QR code with 4 ECC level and zoom factor
QRcode::png($qrContent, $target . 'l_1.png', QR_ECLEVEL_L, 1);
QRcode::png($qrContent, $target . 'l_2.png', QR_ECLEVEL_L, 2);
QRcode::png($qrContent, $target . 'l_3.png', QR_ECLEVEL_L, 3);
QRcode::png($qrContent, $target . 'l_4.png', QR_ECLEVEL_L, 4);

?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $target; ?>l_1.png" />
<img src="<?php echo $target; ?>l_2.png" />
<img src="<?php echo $target; ?>l_3.png" />
<img src="<?php echo $target; ?>l_4.png" />

Program ini membuat kode QR dengan semua faktor konstanta ECC, Zoom, dan Frame perpustakaan ini.

silent-zone-frame-size.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';

$qrContent="Demo data to bundle into a QR code with frame size";

$target = "uploads/pixel-zoom-qr-code/";

// generating

// frame config values below 4 are not recommended !!!
QRcode::png($qrContent, $target . 'l_3_4.png', QR_ECLEVEL_L, 3, 4);
QRcode::png($qrContent, $target . 'l_3_6.png', QR_ECLEVEL_L, 3, 6);
QRcode::png($qrContent, $target . 'l_3_10.png', QR_ECLEVEL_L, 3, 10);

// displaying
?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $target; ?>l_3_4.png" />
<img src="<?php echo $target; ?>l_3_6.png" />
<img src="<?php echo $target; ?>l_3_10.png" />

5. Tambahkan telepon, email, dan info kontak ke kode QR

Bagian ini memiliki contoh PHP untuk membuat kode QR untuk melampirkan informasi kontak. Itu menyiapkan konten kode QR dengan “tel:”. “sms:” dan “mail:” menautkan dan melampirkannya ke kode QR.

tambahkan-telepon-untuk-panggilan.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';
$target = "uploads/qr-code-phone/";
$phone="(091)700-001-710";
// attache phone to call
$qrContent="tel:" . $phone;
QRcode::png($qrContent, $target . 'phone-to-call.png', QR_ECLEVEL_L, 3);
?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $target; ?>phone-to-call.png" />   

tambahkan-telepon-ke-teks.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';
$target = "uploads/qr-code-phone/";
$phone="(091)700-001-710";
// Attach the phone to text
$qrContent="sms:" . $phone;
// generating
QRcode::png($qrContent, $target. 'phone-to-text.png', QR_ECLEVEL_L, 3);
?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $target; ?>phone-to-text.png" />

Melampirkan email menambahkan subjek dan isi email sebagai bagian dari data penerima email. Tetapi subjek dan parameter tubuh adalah opsional.

tambahkan-penerima-ke-kirim-mail.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';
$target = "uploads/qr-code-phone/";
$recipient="vincy@example.com";
$mailSubject="Enquiry";
$mailBody = 'Post enquiry content';
// Prepare QR content with email recipient, subject and body
$qrContent="mailto:" . $recipient . '?subject=" . urlencode($mailSubject) . "&body=' . urlencode($mailBody);
// Attach maileto link to the QRCode
QRcode::png($qrContent, $target. 'mail.png', QR_ECLEVEL_L, 3);
?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $target; ?>mail.png" /> 

Contoh kode QR ini membuat v-card untuk digabungkan dengan kode QR. Ini termasuk detail dasar dengan v-card.

Pustaka ini memungkinkan penambahan lebih banyak detail ke kode QR. Misalnya, dapat melampirkan avatar kontak ke kode QR.

Pada artikel sebelumnya, kita telah melihat cara membuat dan mengunduh v-card untuk informasi kontak.

simpan-vcard-ke-qr-code.php

<?php
require_once __DIR__ . '/vendor/phpqrcode/qrlib.php';
$target = "uploads/qr-code-phone/";
// Contact details
$name="Example1";
$phone="(091)700-001-711";
// QR code content with VACARD
$qrCode="BEGIN:VCARD" . "n";
$qrCode .= 'FN:' . $name . "n";
$qrCode .= 'TEL;WORK;VOICE:' . $phone . "n";
$qrCode .= 'END:VCARD';
// Attaching VCARD to QR code
QRcode::png($qrCode, $target. 'vcard-qr-code.png', QR_ECLEVEL_L, 3);
?>
<img src="https://phppot.com/php/php-qr-code-generator-with-phpqrcode-library/<?php echo $target; ?>vcard-qr-code.png" /> 

Unduh

↑ Kembali ke Atas


Source link

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.