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