формирование qr кода php
Генерируем QR-код на PHP
QR-code, уже давно распространен повсеместно, во всех сферах человеческой жизни. Вроде такая популярная вещь, а нормальной библиотеки (Open Source) на PHP — нет. Товарища deltalab, очень напрягла эта проблема и он решил переписать имеющиеся в наличии С библиотеки ibqrencode от Kentaro Fukuchi, на более привычный ему язык PHP.
PHP QR-Code c открытым исходным кодом (LGPL) библиотека для создание QR code и 2-х мерных штрих-кодов. Базируется на коде ibqrencode библиотеки на C. Обеспечивает API для создания штрихкодов в формате PNG, JPEG с помощью GD2. Реализовано на чистом PHP, без каких-либо внешних зависимостей, кроме конечно GD2.
UPD:
— Что такое QR можно узнать на из Википедии
— Тематический блог на Хабре, где можно постичь масштабы его распространения
— Интересный QR-генератор, с расширенным функционалом PHP QR Code and Data Matrix Generator
— Генератор «красивых» QR, вставка текста в QR mojiq.kazina.com
— Онлайн QR декодер QRDecoder
— Еще одна реализация QR кодирования на Perl+PHP www.swetake.com/qr/qr_cgi_e.html
— QR code плагин для WordPress anton.shevchuk.name/wordpress/qr-code
— PHP-класс для генерации QR-кода от Павла Новицкого www.e-luge.net/blog/full/655063.html
— MX QR code под ExpressionEngine. Базируется на коде от Swetake — MX QR code
— QR-code модуль для Drupal drupal.org/project/qrs_sheets
— Кодируем в QR с помощь Google Charts API
UPD2:
— Самая лучшая считывалка QR-code с экрана BarShow и лучший генератор BarCapture от Jaxo Systems. Написано на Java так-что для пользователей Linux/MacOS в самый раз, есть и бинарники.
— Расширенная утилита для считывания с Web-камеры bcWebCam
— Еще одна считывалка QR-code прямо с экрана, без телефона QuickMark прямая ссылка
7mb
nzeraf.com
Генерация QR-кодов в PHP
Дата публикации: 2012-11-20
От автора: широко применяемые в различных современных приложениях QR-коды можно видеть на банках кока-колы, визитных карточках, в суши-барах и музеях. В данном уроке, мы рассмотрим генерацию QR кода средствами PHP. QR-код – это двумерный штрих-код, изобретенный в Японии. Он запатентован, но создатели, корпорация Denso Wave, решили его не использовать и оставили стандарт открытым для всех. С тех пор код стал гораздо популярнее из-за способности включать в единственное изображение множество данных и распространения смартфонов со сканирующими приложениями.
В этой статье я покажу вам, как QR-коды с легкостью генерируются в PHP-приложении и поделюсь идеями того, где и как их применять, как сгенерировать qr код. Для генерации QR-кодов мы используем PHP QR Code – библиотеку, написанную в PHP для генерирования QR-кодов, которой для создания изображений не требуется ничего, помимо стандартного графического расширения GD2.
Генерируем первый QR-код
Начните с закачки последней библиотеки PHP QR Code с GitHub. Полагаю, что вам это удалось, и вы сможете пройти в среде разработки на //localhost/phpqrcode и обнаружите, что демо-версия работает. Можете вставить любой понравившийся вам текст в поле данных, чтобы конвертировать его в изображение QR-кода, как показано внизу на скриншоте. Если возникли какие-либо проблемы, убедитесь, что у вас установлен PHP с расширением GD2, при необходимости дважды проверив это на странице информации PHP.
Создайте новый скрипт PHP со следующим кодом:
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Видите, как просто? С помощью двух строк, вы освоили генерацию QR-кода для своих веб-приложений на PHP. Возможности бесконечны! Но погодите, это явно не все. У библиотеки имеется множество достойных рассмотрения свойств.
Свойства библиотеки PHP QR Code
Для полного представления попробуйте этот код:
Первый параметр определяет текст или данные, которые будут закодированы в изображении, и передается как обычная строка. Второй параметр – это название выходного файла к сгенерированному PNG-изображению. Значение по умолчанию – булево false, в этом случае изображение сбрасывается в браузер.
Третий параметр – уровень коррекции ошибок для сгенерированного штрих-кода, переданного как строка из единственной буквы. Она устанавливает, сколько кодовых слов данных (8 бит на одно кодовое слово) можно сохранить для искаженного или поврежденного изображения QR-кода с помощью алгоритма коррекции ошибок Рида-Соломона (Reed-Solomon error correction algorithm). Чем выше уровень коррекции, тем меньше может быть информационная емкость штрих-кода для данного измерения. Ниже приведена таблица, отражающая уровни с процентным соотношением их восстановления и константами строк, применяемыми при вызове QRcode::png(). (Я взял таблицу из статьи Wikipedia об QR-кодах, а сигнатуру метода – из библиотеки PHP QR Code.)
Четвертый параметр определяет размер каждого квадрата штрих-кода в пикселях. Каждый квадрат кода (также называемый “пикселями” или “модулями”) – 4×4px. Пятый параметр определяет предел белого поля вокруг штрих-кода в квадратах кода (например, поле в 16px с каждой стороны для квадрата кода размером 4×4px).
Библиотека поддерживает экспорт изображений PNG, SVG и EPS, и можно генерировать QR-коды в любом из этих форматов, просто меняя название метода с png() на svg() или eps() и применяя правильное расширение файлового имени сгенерированного изображения.
Также можно менять цвет фона и изображения переднего плана, передавая их как дополнительные параметры:
Сгенерируйте QR-код с помощью PHP
Установить библиотеку phpqrcode
Вам необходимо установить пакет phpqrcode в своей системе для генерации QR-кода с помощью PHP-скрипта. Вам также необходимо обновить вашу систему перед установкой пакета.
Выполните следующую команду, чтобы обновить систему:
Выполните следующую команду, чтобы установить phpqrcode в Ubuntu:
Выполните следующую команду, чтобы перезапустить сервер apache:
QRcode – один из классов этой библиотеки, который содержит функцию png(), которая используется в примерах этой статьи для изображения QR. Синтаксис этой функции приведен ниже.
Синтаксис:
Пример 1. Создание QR-кода и отображение его в браузере.
Следующий скрипт сгенерирует QR-изображение простых данных и отобразит изображение прямо в браузере. Создайте сценарий PHP со следующим сценарием.
Требуемый скрипт из библиотеки phpqrcode включен в начало скрипта. «Добро пожаловать в AndreyEx» используется в качестве данных в скрипте для создания QR-изображения. Условие if используется для проверки того, существует ли класс QRcode в скрипте или нет. Если класс существует, будет создано QR-изображение, в противном случае будет напечатано сообщение об ошибке. Затем тег используется для печати сгенерированного QR-изображения этим скриптом.
Пример 2: Создайте и сохраните изображение QR в файл
В предыдущем примере QR-изображение печатается непосредственно в браузере, а не сохраняется в виде файла изображения. Следующий скрипт сохранит изображение QR как файл PNG. Создайте файл PHP со скриптом.
Здесь функция png () используется с двумя аргументами. «Генератор QR-кода PHP» используется в первом аргументе в качестве данных для генерации QR-кода, а «QRImage.png» используется во втором аргументе для сохранения изображения в файле. Затем HTML-код встраивается с тегом для отображения файла QRImage.png в браузере.
Пример 3: Создайте и сохраните QR-изображение в файл с размером
В двух предыдущих примерах размер кадра и размер пикселя не определены для создания изображения QR. Следующий сценарий создаст QR-изображение с определенным размером пикселя и кадра и сохранит изображение в файле PNG. Все пять аргументов используются в функции png () этого скрипта. «Learn PHP from AndreyEx» устанавливается в первом аргументе функции png (), которая используется для генерации QR-изображения. Функция uniqid () используется в скрипте для создания имени файла PNG с уникальным идентификатором. «L» используется для уровня коррекции ошибок. 12 устанавливается для размера пикселя, а 8 устанавливается для размера кадра QR-изображения. Затем имя файла используется в теге для отображения созданного QR-изображения данных.
Заключение
В библиотеке phpqrcode существует множество функций для генерации QR-кода. Виды использования в PNG () функции QRcode класса описаны в этом руководстве, используя различные примеры. Способы создания QR-изображения напрямую, сохранения QR-изображения в файл и создания QR-изображения нестандартного размера показаны в этом руководстве, чтобы помочь PHP-кодеру легко создать QR-код с помощью PHP-скрипта.
Формирование qr кода php
A PHP 7.4+ QR Code library based on the implementation by Kazuhiko Arase, namespaced, cleaned up, improved and other stuff.
See the wiki for advanced documentation. An API documentation created with phpDocumentor can be found at https://chillerlan.github.io/php-qrcode/ (WIP).
requires composer
via terminal: composer require chillerlan/php-qrcode
We want to encode this URI for a mobile authenticator into a QRcode image:
Wait, what was that? Please again, slower! See Advanced usage on the wiki.
Hi, please check out my other projects that are way cooler than qrcodes!
I don’t take responsibility for molten CPUs, misled applications, failed log-ins etc.. Use at your own risk!
Генерация QR-кодов в PHP
QR-коды, широко используемые в недавних приложениях, можно увидеть на банках с колой, визитных карточках, в суши-барах и в музеях. QR Code — это двухмерная спецификация штрих-кода, которая была изобретена в Японии. Запатентовано. но его изобретатель, Denso Wave, решил не использовать его и оставил стандарт открытым для всеобщего блага. С тех пор популярность кода возросла из-за его способности включать много данных в одно изображение и распространения смартфонов со сканирующими приложениями.
Генерация вашего первого QR-кода
Начните с загрузки последней библиотеки PHP QR Code из GitHub. Я предполагаю, что вы успешно распаковали его, и вы можете перейти по адресу http: // localhost / phpqrcode в вашей среде разработки, чтобы найти работающую демо-версию. Вы можете вставить любой текст в поле данных, которое хотите преобразовать в изображение QR-кода, как показано на скриншоте ниже. Если у вас возникли проблемы с тем, чтобы заставить это работать, убедитесь, что у вас установлен PHP с расширением GD2, дважды проверьте это при необходимости, используя страницу информации PHP.
Создайте новый скрипт PHP со следующим кодом:
Вы видите, как это просто? С помощью всего двух строк кода вы получите совершенно хороший QR-код для своего приложения. Возможности бесконечны! Но подождите, это явно не полная история. Библиотека имеет больше возможностей, на которые стоит обратить внимание.
Особенности библиотеки PHP QR Code
Для полного примера, попробуйте этот код:
Первый параметр указывает текст или данные, которые будут закодированы в изображение и переданы в виде обычной строки. Второй параметр — это имя выходного файла для сгенерированного изображения PNG, если оно есть. Значением по умолчанию является логическое значение false, в этом случае изображение сбрасывается в браузер.
Четвертый параметр указывает размер каждого из квадратов штрих-кода, измеренный в пикселях. Каждый кодовый квадрат (также называемый «пикселями» или «модулями») имеет размер 4 × 4 пикселя. Пятый параметр задает границу белого поля вокруг штрих-кода, измеренную в кодовых квадратах (например, поле в 16px с каждой стороны для кодового квадрата 4x4px).
Библиотека поддерживает экспорт изображений PNG, SVG и EPS, и вы можете создавать QR-коды в любом из этих форматов, просто изменив имя метода с png() на svg() или eps() и используя правильное расширение для сгенерированного изображения. имя файла.
Также вы можете изменить цвет фона и переднего плана, передав их в качестве дополнительных параметров:
Шестой параметр (false в приведенном выше примере) представляется бесполезным параметром. Это должно быть верно для сохранения в файл и экспорта в браузер, но у меня просто не получилось после нескольких проверок, так что оставьте его ложным.
В библиотеке есть больше функций, которые вы можете проверить, если хотите, например, кеширование и сравнительный анализ генерации изображений.
Получение размера окончательного штрих-кода
Чтобы получить окончательный размер изображения заранее, вот простая формула, которую можно использовать (поскольку изображение является квадратом, нам нужно только вычислить одно измерение, а другое будет таким же):
Где, как указано ранее, число пикселей на модуль указывается в вызове метода в качестве четвертого параметра, а размер модуля выбирается из этих таблиц размеров штрих-кода следующим образом:
Если вы вычислите размер модуля для версии, использованной в примере, вы обнаружите, что размер получаемого изображения должен быть:
Но сгенерированное изображение имеет размер 132 × 132 пикселей. PHP QR Code взял следующую версию (версию 2 вместо версии 1 или просто модуль 25 × 25), поэтому фактический сгенерированный размер будет:
Распространенное использование для QR-кодов
Самым распространенным приложением для QR-кодов является кодирование URL-адресов веб-сайтов, например, таких как фан-страница Facebook о вашем последнем продукте, вашей компании и т. Д. Варианты бесконечны. Я сам использую его на своей визитной карточке и кодирую URL в свой профиль LinkedIn.
QR-коды также могут хранить номера телефонов, визитные карточки и адреса электронной почты. Некоторые сайты помещают их вместе со статьями блога, чтобы выступать в качестве закладок
Когда дело доходит до использования QR-кодов, вашими единственными ограничениями являются объем данных кода и пространство, в котором вы будете его отображать.
Резюме
В этой статье вы увидели, как легко генерировать QR-коды в PHP для различных печатных и веб-приложений. Я также показал вам, как заранее рассчитать окончательный размер сгенерированного изображения, поскольку библиотека не предоставляет такой возможности. Короче говоря, работа с QR-кодами может быть приятной и открыть много возможностей. Как вы можете улучшить свое PHP-приложение с ними?