создать qr код php
Как автоматически генерировать QR-код с логотипом в PHP
QR-коды являются популярным типом двумерного штрих-кода. Они также известны как жесткие ссылки или гиперссылки физического мира. QR-коды хранят до 4296 буквенно-цифровых символов произвольного текста. Этот текст может быть чем угодно, например, URL, контактная информация, номер телефона, даже стихотворение! QR-коды могут быть считаны оптическим устройством с соответствующим программным обеспечением. Такие устройства варьируются от специальных считывателей QR-кодов до мобильных телефонов.
Как бы то ни было, все знают, что такое QR-код, но что может быть круче, чем пользовательский QR-код с вашим собственным логотипом? С помощью PHP эту задачу не так легко выполнить, однако не невозможно.
Есть 2 способа достижения вашей цели, либо вы используете библиотека, которая генерирует QR-коды и позволяют настроить его (возможна настройка логотипа) или Вы можете реализовать это самостоятельно с помощью PHP, Вы можете отобразить изображение на другом изображении, это означает, что мы собираемся отобразить логотип поверх уже созданного изображения QR-кода.
1. Используйте библиотеку
Библиотеки делают вашу жизнь проще, в этом случае для реализации собственного логотипа в QR-коде вы можете использовать Пакет Endroid QRCode. Эта библиотека основана на QRcode Perl CGI PHP скрипты от Y. Swetake, и это помогает вам генерировать изображения, содержащие QR-код.
Предпочтительный способ установки этой библиотеки — через composer, для установки выполните следующую команду composer:
Или отредактируйте свой composer.json вручную и выполните установку composer:
Теперь, после установки, включите класс с оператором использования в ваш класс:
И создайте свой первый QR-код с логотипом, используя следующий код:
Вернуть QR-код с логотипом в качестве ответа
Сохранить QR-код с логотипом на сервере
Выполнение любого из предыдущих методов должно генерировать следующий QRCode:
Не забудьте установить правильный путь для логотипа с прозрачностью, как вы можете видеть, Endroid QRCode предлагает множество полезных методов в качестве пользовательских меток, которые могут быть полезны для вас, пожалуйста, посетите хранилище для получения дополнительной информации.
2. Ручная реализация
Эта функция надежна, так как QR-код будет по-прежнему читаемым, даже если в центре будет небольшое изображение.
Быстрый пример
В этом случае мы будем использовать простой фрагмент, который будет извлекать QR-код из API Chart из Google, который возвращает сгенерированный QR-код.
Благодаря своей простоте является (в моем случае) самым простым решением.
Основное устранение неполадок
Логотип полностью прозрачный и покрывает QR-код
Эта проблема иногда возникает, когда существует прозрачность, но она удаляет область, где находится QR-код, например:
Чтобы решить это, нам нужно использовать следующие строки
Эти строки будут препятствовать тому, чтобы прозрачность покрывала QR-код, Однако это будет по-прежнему с прозрачностью, как нам нужно.
Наконец наш фиксированный фрагмент будет выглядеть так:
Хотя есть библиотека с открытым исходным кодом, которая поможет вам, вы все равно можете добиться этого с помощью простого PHP-кода.
рекомендации
Как вы можете видеть во втором методе, мы не используем какую-либо библиотеку. Мы просто загружаем ответ QR-изображения из API Google Charts и наносим на него наш логотип. Однако вы можете не захотеть зависеть от сервера Google, так как этот API устарел в соответствии с домашняя страница здесь и они рекомендуют вам использовать активно поддерживаемый API Google Charts (который не поддерживает QR-коды).
Мы рекомендуем использовать библиотеку QR-кода с открытым исходным кодом в качестве TCPDF (который также генерирует PDF) или самый распространенный и известный PHP QR-код.
PHP QR-код библиотека с открытым исходным кодом (LGPL) для создания QR-кода, двумерного штрих-кода. На основе библиотеки libqrencode C предоставляет API для создания изображений штрих-кода QR Code (PNG, JPEG благодаря GD2). Реализовано исключительно на PHP, без внешних зависимостей (кроме GD2, если необходимо).
Некоторые из функций библиотеки включают в себя:
Следующий фрагмент демонстрирует работающее решение с PHP QR Code:
Динамическое создание QR-кода с помощью PHP [закрыто]
Я пытаюсь создать QR-коды на своем веб-сайте. Все, что им нужно сделать, это иметь URL-адрес, который будет предоставлен переменной на моем сайте. Как проще всего это сделать?
7 ответов
ссылка, выше, дает более подробную информацию, но для ее использования просто есть src изображения указывают на манипулируемое значение, например:
самый простой способ генерировать QR-коды с PHP-это библиотека phpqrcode.
на библиотека phpqrcode очень быстро настраивается, и документация API легко понять.
в дополнение к ответу abaumg Я приложил 2 примера в PHP от http://phpqrcode.sourceforge.net/examples/index.php
1. QR-код шифратора
сначала включите библиотеку из вашего локального пути
затем, чтобы вывести изображение непосредственно как поток PNG например:
чтобы сохранить результат локально как PNG-изображение:
2. QR-декодер код
см. также кодом ZXing декодер:
довольно полезно проверить выход.
3. Список формата данных
список формата данных, который можно использовать в QR-коде в соответствии с типом данных :
на библиотека endroid/QrCode прост в использовании, в хорошем состоянии и может быть установлен с помощью composer. Существует также bundle использовать непосредственно с Symfony.
QR-кода-генератор на Github. Простейший скрипт и работает как шарм.
Я знаю, что вопрос в том, как генерировать QR-коды с помощью PHP, но для других, кто ищет способ генерировать коды для веб-сайтов, делающих это в чистом javascript, это хороший способ сделать это. The в jQuery-QR-кода плагин jQuery делает это хорошо.
Я иногда использую Google qrcode api, но мне это не совсем понравилось, потому что для доступа к сгенерированному изображению мне нужно быть в Интернете.
Я сделал небольшое исследование comand-line и узнал, что linux имеет инструмент командной строки qrencode для генерации QR-кодов.
Я написал этот небольшой скрипт. И хорошая часть заключается в том, что сгенерированное изображение имеет размер менее 1 КБ. Ну, предоставленные данные-это просто url.
затем в html загружаю изображение:
вам просто нужно установить его. [большинство приложений для обработки изображений в linux установили бы его под капотом без вашего ведома.
Как сгенерировать QR код для сайта
В этой небольшой статье, рассмотрим один способ генерации QR кода на PHP.
Согласно «мозгу» нашего интернета (wikipedia) который врет но редко :), QR код это:
QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — товарный знак для типа матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии.
Но а если проще, то QR код, это картинка содержащая штрихкод квадратной формы. Прочитать который можно мобильным телефоном (с установленным ПО) или специальным техническим средством.
Перейдем к делу
Мы не будем придумывать велосипед, а для генерации QR кода на PHP будем использовать готовую библиотеку «phpqrcode» (спасибо автор!). Библиотеку можно скачать с гитхаба по этой ссылке.
Библиотека «легкая» и имеет всего лишь пару десятков файлов, занимающих в общей сумме чуть больше 250 кб.
Как использовать библиотеку phpqrcode
Загруженную библиотеку нужно распаковать на сервере. В архиве, расположен index.php файл, с примером работы. При желании можно побаловаться с размерами QR кода и ECC уровнем (отвечающим как я понимаю за качество).
Библиотека позволяет создавать QR код в нескольких форматах:
В качестве примера, разберем генерацию png изображения с QR кодом. Есть два варианта решения данной задачи:
Для первого и второго варианта будет использоваться следующий код:
где:
$text — текст для «шифрования» в QR коде
$outfile — каталог, в котором будут сохраняться созданные штрих-коды (если указано false, то код будет отображен сразу в браузере как обычное изображение)
$level — уровень
$size — размер
$margin — отступы от краев изображения
$saveandprint — при установленном в false, не отправляет заголовок «Content-type: image/png» при генерации
$back_color — задний фон кода
$fore_color — фот точек штрихкода
Создать qr код php
Рассмотрим подробнее каждый вариант
Для данного варианта можно предварительно сгенерировать нужный QR код, сохранить его на своём сайте в виде изображения и вставить соответствующий тег. Для этого:
— переходим на сервис подготовки QR кода для оплаты
— заполняем реквизиты организации получателя платежа (ИНН, КПП, БИК, р.с., юр.наименование)
— заполняем данные плательщика (ФИО, назначение, сумма). Для бесплатной версии обязательные к заполнению, в платной можно оставить пустыми.
— нажимаем внизу на кнопку «QR ДЛЯ ОПЛАТЫ» 
— полученное изображение сохраняем на своём сайте и вставляем тег Где вместо URL указываем путь до файла изображения с QR кодом.
Недостатком такого способа является то, что такой платежный QR код не будет содержать нужных данных плательщика. Будут зафиксированы только банковские реквизиты получателя. И при оплате через мобильное приложение (Сбербанк-Онлайн, Тинькофф и т.п.) придётся вводить данные плательщика вручную.
Данный путь предпологает вставку в свой сайт фрагмента html кода в виде тега iframe. Преимуществом данного подхода является возможность получения готовой квитанции для оплаты со всем набором реквизитов. При оплате через Сбербанк-Онлайн, Тинькофф или другим любым банком, плательщику нужно будет всего лишь подтвердить платеж на экране. Чтобы получить данный код необходимо:
— создать личный кабинет сервиса подготовки квитанций с QR кодом
— оплатить использование сервиса на 1 месяц или 1 год.
— написать на почту analiticexpertpay@gmail.com и получить нужный код для вставки в сайт
Пример полученного html кода:
Генерация QR кода в приложениях на PHP
Популярность QR кодов постепенно набирает высоту благодаря возможности включать большой объем данных в единичное изображение и распространению смартфонов, которые обеспечивают быстрое сканирование и декодирование информации. Двумерный полосовой код был изобретен в Японии. На него имеется патент, но изобретатель, Denso Wave, решил сделать QR код доступным для всех.
В данном уроке мы научимся быстро генерировать QR код в приложении PHP. Для решения задачи будем использовать библиотеку PHP QR Code, которая не зависит от других библиотек.
Генерируем ваш первый QR код
Сначала нужно загрузить библиотеку PHP QR Code с GitHub. Затем распаковать архив в место, где тестируются ваши разработки, например http://localhost/phpqrcode, для запуска демонстрации. Страница проекта будет иметь вид, изображенный на рисунке ниже. Набиваем текст в поле ввода и получаем изображение соответствующего QR кода. Для работы приложения требуется PHP с расширением GD2.
Использовать библиотеку в своих приложениях очень просто:
Две строчки кода позволяют получить готовое изображение QR кода в вашем приложении. Но библиотека предоставляет больше возможностей.
Возможности библиотеки
Полный вызов функции выглядит следующим образом:
Первый параметр определяет текст или данные, которые будут кодированы в изображении.
Второй параметр определяет имя файла, который будет содержать генерированное изображение. По умолчанию здесь располагается логическое значение false, и изображение будет отправляться в браузер.
| Уровень | Процент восстановления | Константа |
| Низкий | 7% | L |
| Средний | 15% | M |
| Четверть | 25% | Q |
| Высокий | 30% | H |
Четвертый параметр определяет размер каждого квадрата в коде (в px). Каждый квадрат в коде (также называется “пиксель” или “модуль”) имеет размер 4×4px по умолчанию.
Также можно изменять цвет фона и кода с помощью дополнительных параметров:
Шестой параметр (в примере имеет значение false) при проверке оказался бесполезным. В соответствии с документацией, если он имеет значение true метод должен сохранять изображение и передавать его в браузер. Но описанного результата получить не удалось.
Библиотека также имеет другие возможности, например, кэширование и определение скорости генерации изображения. Но для работы они не имеют большого значения.
Вычисление размера изображения кода
Для определения размера изображения кода можно использовать простую формулу:
Количество пикселей в модуле определяется в четвертом параметре при вызове метода. Размер модуля выбирается из таблицы размеров кода по следующим правилам:
Если вычислить размер модуля для примера, то можно определить размер генерируемого изображения:
Но библиотека PHP QR Code использует модуль следующего размера:
Использование QR кодов
Однако сфера применения QR кодов не имеет границ. В них можно хранить телефонные номера, адреса e-mail, краткие описания товаров и прочее. А использование специальных программ на смартфонах для чтения QR кодов существенно облегчает их использование в практической жизни человека.
