Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vp-webdev
7 лет назад

Создание QR-кодов для своего сайта

QR-коды прочно вошли в нашу жизнь, вы их все не раз видели. Выглядят они как квадрат, состоящий из нескольких закрашенных квадратов. Такой квадрат - это по-сути просто зашифрованные данные.




В таком вот графическом виде отображаются эти зашифрованные данные.
Шифрование это обратимое, то есть его можно расшифровать. Пароли, например, шифруются необратимо, чтобы никто не смог их расшифровать.
Создать QR-код достаточно просто. Используем для этого Google Charts API
Для создания QR-кода будем использовать PHP класс qrcode, скачать его можно тут

Выкладываю копию на pastebin
В своём php файле подключаете класс и создаёте его экземпляр

include("qrcode.php");

$qr = new qrcode();

Теперь пробуем зашифровать ссылку например на свой аккаунт на Голосе.

$qr->link('https://golos.io/@vp-webdev);
echo '< img src="' . $qr->get_link(150, 'L') . '" border="0"/>';

Получаем



Тестируем.



Таки работает

Можно зашифровать произвольный текст:

$qr->text('Медиаблокчейн Голос');
echo '< img src="' . $qr->get_link(150, 'L') . '" border="0"/>';



Как видите - данный QR-код более "сложный", так как строка Медиаблокчейн Голос в кодировке UTF-8 и занимает больше байт памяти, чем ссылка на латинице.

Попробуем зашифровать контакт:

$qr->contact_info('Господин Президент', 'Охотный ряд 1', '84956063602', 'president@kremlin.ru');
echo '< img src="' . $qr->get_link(150, 'L') . '" border="0"/>';



Если отсканировать такой код телефоном - будет предложено добавить контакт.

Код для быстрой отправки SMS. Указываете номер и текст сообщения:

$qr->sms("12345678", "sms text");
echo '< img src="' . $qr->get_link(150, 'L') . '" border="0"/>';



Код для подключения к Wi-Fi:

$qr->wifi('WEP', 'Network name', 'Password');
echo '< img src="' . $qr->get_link(150, 'L') . '" border="0"/>';



Отсканировав такой код, можно подключиться к сети, и не придётся вводить пароль. Было бы очень удобно для кафе, например.

По ссылке есть ещё несколько примеров, и вы можете посмотреть методы класса qrcode - там всё предельно просто.

Передавая методу get_link первым аргументом число 150 - я указываю размеры QR-кода в пикселях.
Буква L - это error_correction_level. Я не совсем понял что это такое, однако указывая M,Q или H вместо L - QR-код расшифровывался с ошибками, ссылку зашифровать не получалось.
Третьим аргументом ещё можно передать отступ от краёв изображения.

Чтобы сохранить файл с кодом на диске - следует использовать такой код:

$qr->link("https://golos.io/@vp-webdev");
$image = $qr->get_image();
$qr->save_image($image, './MyQR-code.png');

Файл будет сохранён в папке со скриптом.

Вот так нехитро можно создать такую метку. Скрипт будет работать на любом хостинге.

В примерах кода <img заменено на < img - вы это у себя поправьте. Тут такой хак из-за того что парсер голоса не пропускает тэг.

38
298.035 GOLOS
На Golos с August 2017
Комментарии (14)
Сортировать по:
Сначала старые