Как проходит Генерация QR кода?
QR коды набирают популярность все больше и больше благодаря возможности использовать огромный объем данных в одном изображение и распространению через смартфоны, с помощью которых можно обеспечить быстрое сканирование и декодирование информации. Двумерный полосовой код был изобретен в Японии. Данный код под потенотом, но создатель решил сделать его общедоступным
В этом уроке мы узнаем как быстро сгенерировать QR код с помощью PHP. Для создания кода будем использовать библиотеку PHP QR Code, которая не привязана к другим библиотекам.
Создаем первый QR код
Для начала скачиваем библиотеку PHP QR Code с GitHub. Затем распаковываем его на хостинг, где будем тестировать его, например https://Mysite.ru/phpqrcode, для запуска демонстрации. Заполняем текстом поле ввода и получаем изображение соответствующего QR кода. Для работы приложения требуется PHP с расширением GD2.
Использовать библиотеку на своих сайтах очень просто:
<?php
include «phpqrcode/qrlib.php»;
// Создаем и выводим QR код с текстом
QRcode::png(«My First QR Code»);
С помощью двух строк получаем готовое изображение QR кода. Но библиотека предоставляет больше возможностей.
Возможности библиотеки
Чтобы полностью вызвать функцию:
<?php
QRcode::png(«https://www.indigotlt.ru», «test.png», «L», 4, 4);
Первый параметр отвечает за текст или данные, которые в дальнейшем кодируются в изображении.
Вторым параметром мы определяем имя файла, в котором будет храниться сгенерированное изображение. По умолчанию стоит значение false, и изображение отправляются в браузер.
Третий параметр показывает уровень коррекции ошибок для генерируемого полосового кода, передается в виде одной строки. На этом уровне определяется количество кодовых слов (на кодовое слово выделяется 8-бит) возможно восстановить в поврежденном изображении QR кода. Чем больше уровень коррекции ошибок тем меньше плотность данных в коде данного размера. Ниже приведем таблицу соответствующего процента восстановления ошибок и строковых констант для метода QRcode::png().
Уровень Процент восстановления Константа
Низкий 7% L
Средний 15% M
Четверть 25% Q
Высокий 30% H
Четвертый параметр отвечает за размер каждого квадрата в коде (в px). Каждый квадрат в коде (также называется “пиксель” или “модуль”) имеет размер 4x4px по умолчанию.
Пятый параметр отвечает за размер белой рамки вокруг самого кода, измеренной в размерах «модуля» (для нашего случая — 16px с каждой стороны для модуля 4x4px).
Можно даже изменить цвет фона и кода с помощью доп параметров:
<?php
$backColor = 0xFFFF00;
$foreColor = 0xFF00FF;
// Создадим QR код в формате SVG
QRcode::svg(«https://phpmaster.com», «test-me.svg», «L», 4, 4, false, $backColor, $foreColor);