Создание 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
- вы это у себя поправьте. Тут такой хак из-за того что парсер голоса не пропускает тэг.