Генерация QR кода в приложениях на PHP

      Комментарии к записи Генерация QR кода в приложениях на PHP отключены

Реклама

Как проходит Генерация QR кода?

QR коды набирают популярность все больше и больше благодаря возможности использовать огромный объем данных в одном изображение и распространению через смартфоны, с помощью которых можно обеспечить быстрое сканирование и декодирование информации. Двумерный полосовой код был изобретен в Японии. Данный код под потенотом, но создатель решил сделать его общедоступным

В этом уроке мы узнаем как быстро сгенерировать QR код с помощью PHP. Для создания кода будем использовать библиотеку PHP QR Code, которая не привязана к другим библиотекам.

Создаем первый QR код

Для начала скачиваем библиотеку PHP QR Code с GitHub. Затем распаковываем его на хостинг, где будем тестировать его, например http://Mysite.ru/phpqrcode, для запуска демонстрации. Заполняем текстом поле ввода и получаем изображение соответствующего QR кода. Для работы приложения требуется PHP с расширением GD2.

Использовать библиотеку на своих сайтах очень просто:




<?php
include «phpqrcode/qrlib.php»;
// Создаем и выводим QR код с текстом
QRcode::png(«My First QR Code»);
С помощью двух строк получаем готовое изображение QR кода. Но библиотека предоставляет больше возможностей.

Возможности библиотеки

Чтобы полностью вызвать функцию:




<?php
QRcode::png(«http://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(«http://phpmaster.com», «test-me.svg», «L», 4, 4, false, $backColor, $foreColor);