How to generate QR Code using PHP, QR Code generator

discussdesk
5 min readJul 28, 2020

--

QR code is just a conventional two-dimensional barcode or a matrix barcode that is using for a quick response or to retrieve a small piece of data by scanning the QR image from your phone or any QR scanner.

These days, several recent applications are using QR code to store a minimal amount of data. It is generating using black square boxes which are organized in the white box and can be read from any imaging device or any scanner application. you can also read our tutorial on autocomplete search in PHP.

QR code abbreviated as (Quick Response code) is the first design for the automotive industry in Japan in early 1994. It is a machine-readable code that persists of a small amount of data that can be scanned and read it easily.

In this article, I will explain to you to easily create QR code in any PHP application. Please follow the below steps to integrate it. You can view the demo and download the complete working scripts from our repository.

Create a QR code in PHP

Here we are going to use PHP as a language to create QR code because PHP is widely used for creating web applications and several online industries is preferring the QR code to store some data like product details etc. Here we are using the PHP QR Code library to generate QR code.

This library is open-source which is based on the libqrencode C library which provides API for creating QR Code images in multiple image extensions. You can also read to upload multiple images and resize them in PHP.

We have written a well-designed code and explain each code which is easy to understand. You can also download the working code to create a QR code in PHP

Importance of QR code in Web application

We are using QR code in many of our web application or web app to store the piece of data for some purpose. These days, QR code is a common word which is familiar by everyone. It is widely preferred by online or offline markets from e-commerce stores, digital wallets, banking, etc because it is very convenient to use by any person.

Prerequisite for creating QR code in PHP

  1. Basic understanding oh PHP
  2. Enable the GD library

Code explanation for creating QR code in PHP

1. Create index.php file and put the below code. Now I will explain the code step by step below:

<?php include('library/php_qr_code/qrlib.php'); // Include a library for PHP QR code if(isset($_REQUEST['submit']) and $_REQUEST['submit']!=""){ //its a location where generated QR code can be stored. $qr_code_file_path = dirname(__FILE__).DIRECTORY_SEPARATOR.'qr_assets'.DIRECTORY_SEPARATOR; $set_qr_code_path = 'qr_assets/'; // If directory is not created, the create a new directory if(!file_exists($qr_code_file_path)){ mkdir($qr_code_file_path); } //Set a file name of each generated QR code $filename = $qr_code_file_path.time().'.png'; /* All the user generated data must be sanitize before the processing */ if (isset($_REQUEST['level']) && $_REQUEST['level']!='') $errorCorrectionLevel = $_REQUEST['level']; if (isset($_REQUEST['size']) && $_REQUEST['size']!='') $matrixPointSize = $_REQUEST['size']; $frm_link = $_REQUEST['frm_qr']; $framePointSize = 2; // After getting all the data, now pass all the value to generate QR code. QRcode::png($frm_link, $filename, $errorCorrectionLevel, $matrixPointSize, $framePointSize); } ?>

In the above code, we have first included the library of PHP QR Code. Here no need to do any changes in this folder.
Now create a directory where the generated QR code will get a store for further use.

You can also read: How to create and run Cron job in PHP

Then we will set the name of that image (QR code).

Now we will get all the entered data by the user from below HTML form and sanitize it. We should sanitize all the users’ input data before processing it.

The next step is to call the PHP QR Code library bypassing all the input data and it will create a QR code based on the input data.

Passed Parameters or argument in QRcode::png() : The above function will take 5 parameters which are mentioned:

$frm_link: This is the input parameter for which QR code needs to generate.

$filename: The path or location to store the generated QR code.

$errorCorrectionLevel: It specifies the capability of error correction in QR code.

$matrixPointSize: It is the pixel size of the QR code.

$framePointSize: This parameter tells the complete size of the QR code.

2. Create an HTML form inside index.php or anywhere else

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <div class="container"> <div class="row justify-content-md-center"> <div class="ml-2 col-sm-6"> <?php if(isset($frm_link) and $frm_link!=""){?> <div class="alert alert-success">QR created for <strong>[<?php echo $frm_link;?>]</strong></div> <div class="text-center"><img src="<?php echo $set_qr_code_path.basename($filename); ?>" /></div> <?php } ?> <form method="post"> <div class="form-group"> <label>Enter QR parameter</label> <input type="text" name="frm_qr" id="frm_qr" class="form-control" placeholder="Enter QR parameter" required> </div> <div class="form-group"> <label>QR Code Level</label> <select name="level" class="form-control"> <option value="L">L - smallest</option> <option value="M" selected>M</option> <option value="Q">Q</option> <option value="H">H - best</option> </select> </div> <div class="form-group"> <label>QR Code Size</label> <select name="size" class="form-control"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4" selected>4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </div> <div class="form-group"> <input type="submit" name="submit" value="Upload" class="btn btn-danger"> </div> </form> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script> </body> </html>

In this HTML form, we need to enter the value to generate the QR code and select some other parameter.

Now the PHP code calls the function 'QRcode::png' which is available in the PHP QR code library and passes the user's input parameter. After processing the data, it generates the QR code and saves it into the specified location.

Below is the list of features of PHP QR Code

  1. It supports QR Code versions (size) 1–40
  2. It can export QR code to PNG, JPEG images
  3. PHP language is used to implement this QR code.
  4. It uses the PHP GD2 library
  5. It is very easy to configure

Now you can store the name of QR code in databases like Mysql, MongoDB table, and use to display it anywhere in your application once it will create the QR code image.

Originally published at https://www.discussdesk.com

--

--

discussdesk

Discuss desk (www.DiscussDesk.com) is a blogging website with new technology content. Here, Users can read and comment on the latest blog.