php Как генерировать qr код?

Как генерировать qr код на php?

php

Ответ

Первый способ генерации QR-кода: с помощью Google Chart.

Пример:

Результат:

php qr-код

Как видим, генерация происходит онлайн с параметрами, переданными в виде GET-запроса. Обязательных параметра три: cht=qr (постоянное значение), chs=300x300 (ширина и высота изображения) и chl=itmathrepetitor (данные для кодирования). Заметим, что длина строки запроса не должна превышать 2 Kb, иначе придется формировать POST-запрос.

За кодировку отвечает необязательный параметр choe, который по умолчанию равен UTF-8. Для изменения кодировки можно добавить &choe=ISO-8859-1 или Shift_JIS (кодировка японского языка), что редкость. 

Так же можно управлять уровнем коррекции ошибок. За это отвечает параметр chld, равны L по умолчанию (восстановление 7% ошибок). Доступны еще уровни M (15%), Q (25%), H (30%). К параметру chld через символ | может быть дополнительно указана ширина белой границы вокруг фрагментов qr-кода. Например, chld=L|8. Это ширина измеряется в строках (rows) и по умолчанию равна 4. А сама характеристика таких фрагментов qr-кода называется версией, которая варьируется от 1 (21 строка) до 40 (177 строк). Мобильные устройства могут читают qr-код до версии 4. Самые лучшие qr-ридеры способны прочитать и версию 40.

Второй способ генерации QR-кода: с помощью php-библиотеки QrCode.

Скачать можно здесь. Для использования необходима  библиотека GD2 (и это не проблема).

Пример:

Файл gen_qr.php:

Файл index.php:

Как и в первом способе, возможна настройка параметров генерации qr-кода. Описание функции генерации:

$text - строка для кодирования, $outfile - имя файла для сохранения png-изображения (если false, то вывод в браузер с необходимыми заголовками), $level - уровень коррекции ошибок (QR_ECLEVEL_L, QR_ECLEVEL_M, QR_ECLEVEL_Q or QR_ECLEVEL_H), $size - размер пикселя (множитель для каждого виртуального пикселя, следует увеличить, если изображение получается нечетким), $margin - ширина белой границы, $saveandprint - если true, то происходит и вывод в браузер, и сохранение в файл, иначе только сохранение в файл (полезно только при использовании в паре с $outfile).

Пример сохранения в файл из официальной документации

Третий способ генерации qr-кода: использование  QRCode-Generator-PHP-Class.

Класс использует Google Chart и требует PHP 5.2.4 или выше.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *