Содержание:
Генерируем 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-код на своем сайте.
devreadwrite.com

Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
Классная вещь пригодилось
ОтветитьВ Yii1 выдает 500-ю ошибку
ОтветитьCHttpException
Ответитьdoes not exists.
protected\extensions\qrcode\QRCodeGenerator.php(75)
Сделайте так:
где images - папка в корне сайтаОтветить
Спасибо
ОтветитьУх ты, подсветка кода в комментариях
и ещеОтветить
Пока только в тестовом режиме, спасибо, что заметили
Ответитьправка wysibb на этом сайте: При добавлении ссылки достаточно только вставить её адрес и она будет вставляться в сообщение с текстом самой ссылки (сейчас ничего не происходит):
файл jquery.wysibb.js :
find :
add after:
if (pname === 'seltext' && pval === '') {
Ответитьpval = $(el).parent().next().children('input').val();
}
Спасибо, попробуем
Ответить