Зміст:
Генеруємо 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-код на своєму сайті.


