How to generate QR Code in PHP

In this post, you will learn how to generate a QR Code using the PHP programming language in the easiest way.

In a world where we expect everything at our fingertips, QR codes are capable of storing lots of data. QR codes provide instant interaction between organisations and clients.









QR Code stands for Quick Response code. Initially, it was developed for the automotive industry, but later it was widely used in a wider range of applications. By using this, we can replace a large amount of information, such as smart card data, consumer advertising, website urls, telephone numbers, articles, and much more, into just a two-dimensional matrix Barcode. It is capable of storing up to 4,296 alphanumeric characters of arbitrary text. The generated code can be read by a QR-Code reader software using optical smart devices. PHP provides several libraries to generate QR code. In PHP, it is very simple to generate QR codes.









Generating QR Code using phpqrcode library

Here, we are using the QR Code library. PHP QR Code is an open source library for generating QR Code, 2-dimensional barcode. To use this, first download the QR Code library from Github, OR you can download it from here.

PHP QR Code Library



Download and extract the folder and then place the extracted folder in your appropriate project directory where you want to execute it. Now create a PHP file in the same folder where you placed the phpqrcode folder. We need to include the 'qrlib.php' file to use a function named 'png()'. This function is inside the QRcode class, which outputs a QR code directly in the browser when we pass some text as a parameter.

Syntax

QRcode::png(text, file, ecc, pixel_size, frame_size);

text- the text message which needs to be in a QR code,
file- location to save the generated QR code,
ecc- to specify the error correction capability of the QR code, it has four levels: L, M, Q and H,
pixel_size- to specify the pixel size of QR,
frame_size- to specify the size of the QR.


Copy and paste the given code in your PHP file and replace the value in the content variable.

<?php
    include "phpqrcode/qrlib.php" ;
    $content = "http://www.etutorialspoint.com/" ;
    QRcode::png($content) ;
?>

When you execute the above code, you will get this QR Code.

QR Code

So, this is the way to access a brand's website more quickly by QR code scanner rather than manually entering an URL.





Generating QR Code using tc-lib-barcode library

In the second example, we are using the tc-lib-barcode library to generate QRCode of a text string. The output formats of this library can be PNG Image, SVG Image, HTML DIY, Unicode String or Barcode String. Here, we are using composer to install tc-lib-barcode library. So, open your terminal window, go to your project directory, and run the following command to install this library.

composer require tecnickcom/tc-lib-barcode

You can see the installation of the tc-lib-barcode library in the given screenshot. This includes utility PHP classes to generate linear and bi-dimensional barcodes.

Install tc-lib-barcode

The source code to generate QRCode of an url string is as follows-

<?php
	
    // Include the library in your project
    require ('vendor/autoload.php');
	
    // Instantiate the library class
    $barcode = new \Com\Tecnick\Barcode\Barcode();
    $dir = "qr-code/";
    
    // Directory to store barcode
    if (! is_dir($dir)) {
        mkdir($dir, 0777, true);
    }
    // data string to encode
    $source = "https://www.etutorialspoint.com/";
	
    // ser properties
    $qrcodeObj = $barcode->getBarcodeObj('QRCODE,H', $source, - 16, - 16, 'black', array(
        - 2,
        - 2,
        - 2,
        - 2
    ))->setBackgroundColor('#f5f5f5');
    
    // generate qrcode
    $imageData = $qrcodeObj->getPngData();
    $timestamp = time();
    
    //store in the directory
    file_put_contents($dir . $timestamp . '.png', $imageData);
	
     //Output image to the browser
      echo '<img src="'.$dir . $timestamp.'".png" width="200px" height="200px">';
?>

We receive the following output on the above code execution-

Generate qrcode using tc-lib-barcode







Related Articles

PHP reverse a string without predefined function
PHP random quote generator
PHP convert string into an array
PHP remove HTML and PHP tags from string
Preventing Cross Site Request Forgeries(CSRF) in PHP
PHP code to send email using SMTP
Simple pagination in PHP
Simple PHP File Cache
PHP Connection and File Handling on FTP Server
Sending form data to an email using PHP
Recover forgot password using PHP and MySQL
How to display PDF file in PHP from database
How to upload multiple files in php and store in database
Characteristics of a good program
How to retrieve data from database using ajax without submit
Dynamically add remove rows in html table using javascript
Fibonacci series in php
How to fetch data from database in php and display in pdf



Read more articles


General Knowledge



Learn Popular Language