Содержание:

Генерируем QR Code с помощью PHP

Для начала необходимо скачать библиотеку PHP QR Code, которая значительно упрощает генерацию QR кода.

Скачать библиотеку phpqrcode для PHP

После того как вы скачали и разархивировали библиотеку PHP QR Code, ее необходимо подключить:

include "path/to/phpqrcode/qrlib.php";

Генерируем простой QR код с помощью php.

После подключения библиотеки PHP QR Code можно сразу сгенерировать QR код, для этого добавьте следующий php код после подключения библиотеки:

QRcode::png("Генерируем простой QR код с помощью php");

После чего получим следующее изображение с QR кодом:

С помощью 2 строчек кода мы получили QR код. Разберем еще несколько возможностей библиотеки PHP QR Code.

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

Добавим строку php кода и разберем ее подробнее:

QRcode::png("кодер.укр пробуем qrlib", "qrlib.png", "H", 10, 5);

Вот что получится:

Параметры

кодер.укр пробуем qrlib - строка, которую нужно закодировать в изображение (QR Code).

qrlib.png - имя файла, который будет содержать QR код. По умолчанию равно false, изображение генерируется на лету и не сохраняется.

H - уровень коррекции ошибок. Чем выше уровень коррекции, тем меньше объем данных которые может содержать QR код. Возможные значения:

Параметр Уровень Восстанавливаемые слова
L Низкий 7%
M Средний 15%
Q Выше среднего 25%
H Высокий 30%

10 - размер каждого кодового квадратика в пикселях.

5 - размер рамки вокруг QR кода.

Библиотека PHP QR Code поддерживает экспорт в следующие форматы: PNG, SVG и EPS. Для создания QR кодов в любом из этих форматов нужно просто изменить название метода из png(...) в svg(...) или eps(...) и использовать правильное расширение во втором параметре (имя файла).

Генерируем qr код в Yii

Для создания QR кода в Yii будем использовать расширение qrcode. Его нужно скачать и распаковать в папке /protected/extension.

Скачать расширение qrcode для Yii

Само использование очень простое, вызываем виджет в нужном месте следующим образом:

$this->widget('application.extensions.qrcode.QRCodeGenerator',array(
    'data' => 'http://кодер.укр - пример генерации qr кода в Yii',
    'matrixPointSize' => 5,
    'displayImage'=>true,
    'errorCorrectionLevel'=>'H',
    'filename' => 'qr.png'
));

Параметры

data - строка для qr кода;

matrixPointSize - размер каждого кодового квадратика в пикселях (от 1 до 10);

displayImage - изображение генерируется на лету и не сохраняется;

errorCorrectionLevel - уровень коррекции ошибок;

filename - имя файла.

Генерируем qr код в Yii2

Для начала нужно установить расширение, открываем консоль и выполняем команду:

composer require xj/yii2-qrcode-widget

Использование

<?php

use xj\qrcode\QRcode;
use xj\qrcode\widgets\Email;
use xj\qrcode\widgets\Text;

echo Text::widget([
    'outputDir' => '@webroot/upload/qrcode',
    'outputDirWeb' => '@web/upload/qrcode',
    'ecLevel' => QRcode::QR_ECLEVEL_L,
    'text' => 'Привет кодер.укр',
    'size' => 6,
]);

echo Text::widget([
    'text' => 'info@кодер.укр',
    'size' => 3,
    'margin' => 4,
    'ecLevel' => QRcode::QR_ECLEVEL_L,
]);

echo Email::widget([
    'email' => 'info@кодер.укр',
    'subject' => 'Тема письма',
    'body' => 'Важное сообщение',
]);

Параметры

text - строка для qr кода;

size - размер каждого кодового квадратика в пикселях.

margin - размер рамки вокруг QR кода.

ecLevel - уровень коррекции ошибок. Чем выше уровень коррекции, тем меньше объем данных которые может содержать QR код. Возможные значения: QR_ECLEVEL_L, QR_ECLEVEL_M, QR_ECLEVEL_Q, QR_ECLEVEL_H

Вот так просто можно сгенерировать QR-код на своем сайте.