В этой небольшой статье, рассмотрим один способ генерации QR кода на PHP.
Согласно «мозгу» нашего интернета (wikipedia) который врет но редко :), QR код это:
QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — товарный знак для типа матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии.
Но а если проще, то QR код, это картинка содержащая штрихкод квадратной формы. Прочитать который можно мобильным телефоном (с установленным ПО) или специальным техническим средством.
Перейдем к делу
Мы не будем придумывать велосипед, а для генерации QR кода на PHP будем использовать готовую библиотеку «phpqrcode» (спасибо автор!). Библиотеку можно скачать с гитхаба по этой ссылке.
Библиотека «легкая» и имеет всего лишь пару десятков файлов, занимающих в общей сумме чуть больше 250 кб.
Как использовать библиотеку phpqrcode
Загруженную библиотеку нужно распаковать на сервере. В архиве, расположен index.php файл, с примером работы. При желании можно побаловаться с размерами QR кода и ECC уровнем (отвечающим как я понимаю за качество).
Библиотека позволяет создавать QR код в нескольких форматах:
- png
- svg
- eps
- в виде текста
В качестве примера, разберем генерацию png изображения с QR кодом. Есть два варианта решения данной задачи:
- Отобразить результат сразу же в браузере (это может пригодится при генерации штрихкода по ссылке)
- Сохранять сгенерированное изображение в каталог
Для первого и второго варианта будет использоваться следующий код:
QRcode::png($text, $outfile, $level, $size, $margin, $saveandprint, $back_color, $fore_color);
где:
$text — текст для «шифрования» в QR коде
$outfile — каталог, в котором будут сохраняться созданные штрих-коды (если указано false, то код будет отображен сразу в браузере как обычное изображение)
$level — уровень
$size — размер
$margin — отступы от краев изображения
$saveandprint — при установленном в false, не отправляет заголовок «Content-type: image/png» при генерации
$back_color — задний фон кода
$fore_color — фот точек штрихкода
На этом все. Спасибо!