- Генерация QR-кода в PHP
- Быстрый старт
- Вывод в браузер:
- Сохранение в файл:
- Описание параметров
- Данные в QR-коде
- Генерация QR кода в приложениях на PHP
- Генерируем ваш первый QR код
- Возможности библиотеки
- Вычисление размера изображения кода
- Использование QR кодов
- 5 последних уроков рубрики «PHP»
- Фильтрация данных с помощью zend-filter
- Контекстное экранирование с помощью zend-escaper
- Подключение Zend модулей к Expressive
- Совет: отправка информации в Google Analytics через API
- Подборка PHP песочниц
- Генерация QR кода в приложениях на PHP
- Генерируем ваш первый QR код
- Возможности библиотеки
- Вычисление размера изображения кода
- Использование QR кодов
- 5 последних уроков рубрики «PHP»
- Фильтрация данных с помощью zend-filter
- Контекстное экранирование с помощью zend-escaper
- Подключение Zend модулей к Expressive
- Совет: отправка информации в Google Analytics через API
- Подборка PHP песочниц
Генерация QR-кода в PHP
Вопрос генерации QR-кодов в PHP достаточно освещён, есть много библиотек, одной из них является «PHP QR Code» – быстрый и легкий класс, рассмотрим его применение совместно с графической библиотекой GD.
Быстрый старт
Вывод в браузер:
Сохранение в файл:
Описание параметров
$text – текст, который будет закодирован в изображении.
$outfile – куда сохранить файл, false – вывести в браузер.
$level – уровень коррекции ошибок:
| Значение | Уровень | Процент восстановления |
|---|---|---|
| L | Низкий (по умолчанию) | 7% |
| M | Средний | 15% |
| Q | Четверть | 25% |
| H | Высокий | 30% |
$size – размер «пикселя», по умолчанию 3px.
$margin – отступ от краев, задаётся в единицах, указанных в $size .
$saveandprint – если true , то изображение одновременно сохранится в файле $outfile и выведется в браузер.
Данные в QR-коде
Для мобильных устройств, в данных можно использовать «протоколы приложений», тем самым при распознавании QR-кода сразу открыть нужное приложение, например набрать телефонный номер, написать письмо, открыть диалог в WhatsApp или Viber и т.д.
Источник
Генерация QR кода в приложениях на PHP
Популярность QR кодов постепенно набирает высоту благодаря возможности включать большой объем данных в единичное изображение и распространению смартфонов, которые обеспечивают быстрое сканирование и декодирование информации. Двумерный полосовой код был изобретен в Японии. На него имеется патент, но изобретатель, Denso Wave, решил сделать QR код доступным для всех.
В данном уроке мы научимся быстро генерировать QR код в приложении PHP. Для решения задачи будем использовать библиотеку PHP QR Code, которая не зависит от других библиотек.
Генерируем ваш первый QR код
Сначала нужно загрузить библиотеку PHP QR Code с GitHub. Затем распаковать архив в место, где тестируются ваши разработки, например http://localhost/phpqrcode, для запуска демонстрации. Страница проекта будет иметь вид, изображенный на рисунке ниже. Набиваем текст в поле ввода и получаем изображение соответствующего QR кода. Для работы приложения требуется PHP с расширением GD2.
Использовать библиотеку в своих приложениях очень просто:
Две строчки кода позволяют получить готовое изображение QR кода в вашем приложении. Но библиотека предоставляет больше возможностей.
Возможности библиотеки
Полный вызов функции выглядит следующим образом:
Первый параметр определяет текст или данные, которые будут кодированы в изображении.
Второй параметр определяет имя файла, который будет содержать генерированное изображение. По умолчанию здесь располагается логическое значение false, и изображение будет отправляться в браузер.
Третий параметр указывает уровень коррекции ошибок для генерируемого полосового кода, переданного в виде одной строки. Здесь определяется сколько кодовых слов (8-бит на кодовое слово) может быть восстановлено в поврежденном изображении QR кода с помощью алгоритма коррекции ошибок Рида-Соломона. Более высокий уровень коррекции ошибок приводит к меньшей плотности данных в коде заданного размера. Ниже приводится таблица соответствия процента восстановления ошибок и строковых констант для метода QRcode::png() .
| Уровень | Процент восстановления | Константа |
| Низкий | 7% | L |
| Средний | 15% | M |
| Четверть | 25% | Q |
| Высокий | 30% | H |
Четвертый параметр определяет размер каждого квадрата в коде (в px). Каждый квадрат в коде (также называется “пиксель” или “модуль”) имеет размер 4×4px по умолчанию.
Пятый параметр указывает размер белой рамки вокруг кода, измеренной в размерах «модуля» (для нашего случая — 16px с каждой стороны для модуля 4×4px).
Библиотека поддерживает экспорт изображений в формате PNG, SVG, и EPS. Для генерации изображения в нужном формате нужно использовать метод с соответствующим именем png(), svg() или eps() .
Также можно изменять цвет фона и кода с помощью дополнительных параметров:
Шестой параметр (в примере имеет значение false) при проверке оказался бесполезным. В соответствии с документацией, если он имеет значение true метод должен сохранять изображение и передавать его в браузер. Но описанного результата получить не удалось.
Библиотека также имеет другие возможности, например, кэширование и определение скорости генерации изображения. Но для работы они не имеют большого значения.
Вычисление размера изображения кода
Для определения размера изображения кода можно использовать простую формулу:
Количество пикселей в модуле определяется в четвертом параметре при вызове метода. Размер модуля выбирается из таблицы размеров кода по следующим правилам:
- Выбираем столбец типа данных (data bits, numeric, alphanumeric, binary, или Kanji). Здесь определяется максимальная длина данных определенного типа, которые могут быть закодированы. В нашем примере использовался тип alphanumeric, но если будет кодироваться строка UTF-8, то следует использовать тип binary. Kanji применяется для Японского языка.
- Определяем нужный уровень коррекции ошибок. Находим для заданной длины строки минимальный номер версии, которая может хранить данные такой длины. В примере используется 24 символа с уровнем L, поэтому значение будет из первой строки.
- Получаем размер модуля (для примера будет 21×21). Библиотека PHP QR Code использует следующий номер для обеспечения запаса.
Если вычислить размер модуля для примера, то можно определить размер генерируемого изображения:
Но библиотека PHP QR Code использует модуль следующего размера:
Использование QR кодов
Наиболее популярное применение QR кодов — кодирование адресов URL веб сайтов, например, страниц фан-клубов в социальных сетях, онлайн описания продуктов и так далее. Ниже приводится пример визитной карточки, на которой QR кодом указан адрес профиля в LinkedIn.
Однако сфера применения QR кодов не имеет границ. В них можно хранить телефонные номера, адреса e-mail, краткие описания товаров и прочее. А использование специальных программ на смартфонах для чтения QR кодов существенно облегчает их использование в практической жизни человека.
Когда встает вопрос об использовании QR кода, реальные ограничения заключаются только в размере данных и пространстве для размещения .
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: phpmaster.com/generate-qr-codes-in-php/
Перевел: Сергей Фастунов
Урок создан: 28 Сентября 2012
Просмотров: 51904
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Источник
Генерация QR кода в приложениях на PHP
Популярность QR кодов постепенно набирает высоту благодаря возможности включать большой объем данных в единичное изображение и распространению смартфонов, которые обеспечивают быстрое сканирование и декодирование информации. Двумерный полосовой код был изобретен в Японии. На него имеется патент, но изобретатель, Denso Wave, решил сделать QR код доступным для всех.
В данном уроке мы научимся быстро генерировать QR код в приложении PHP. Для решения задачи будем использовать библиотеку PHP QR Code, которая не зависит от других библиотек.
Генерируем ваш первый QR код
Сначала нужно загрузить библиотеку PHP QR Code с GitHub. Затем распаковать архив в место, где тестируются ваши разработки, например http://localhost/phpqrcode, для запуска демонстрации. Страница проекта будет иметь вид, изображенный на рисунке ниже. Набиваем текст в поле ввода и получаем изображение соответствующего QR кода. Для работы приложения требуется PHP с расширением GD2.
Использовать библиотеку в своих приложениях очень просто:
Две строчки кода позволяют получить готовое изображение QR кода в вашем приложении. Но библиотека предоставляет больше возможностей.
Возможности библиотеки
Полный вызов функции выглядит следующим образом:
Первый параметр определяет текст или данные, которые будут кодированы в изображении.
Второй параметр определяет имя файла, который будет содержать генерированное изображение. По умолчанию здесь располагается логическое значение false, и изображение будет отправляться в браузер.
Третий параметр указывает уровень коррекции ошибок для генерируемого полосового кода, переданного в виде одной строки. Здесь определяется сколько кодовых слов (8-бит на кодовое слово) может быть восстановлено в поврежденном изображении QR кода с помощью алгоритма коррекции ошибок Рида-Соломона. Более высокий уровень коррекции ошибок приводит к меньшей плотности данных в коде заданного размера. Ниже приводится таблица соответствия процента восстановления ошибок и строковых констант для метода QRcode::png() .
| Уровень | Процент восстановления | Константа |
| Низкий | 7% | L |
| Средний | 15% | M |
| Четверть | 25% | Q |
| Высокий | 30% | H |
Четвертый параметр определяет размер каждого квадрата в коде (в px). Каждый квадрат в коде (также называется “пиксель” или “модуль”) имеет размер 4×4px по умолчанию.
Пятый параметр указывает размер белой рамки вокруг кода, измеренной в размерах «модуля» (для нашего случая — 16px с каждой стороны для модуля 4×4px).
Библиотека поддерживает экспорт изображений в формате PNG, SVG, и EPS. Для генерации изображения в нужном формате нужно использовать метод с соответствующим именем png(), svg() или eps() .
Также можно изменять цвет фона и кода с помощью дополнительных параметров:
Шестой параметр (в примере имеет значение false) при проверке оказался бесполезным. В соответствии с документацией, если он имеет значение true метод должен сохранять изображение и передавать его в браузер. Но описанного результата получить не удалось.
Библиотека также имеет другие возможности, например, кэширование и определение скорости генерации изображения. Но для работы они не имеют большого значения.
Вычисление размера изображения кода
Для определения размера изображения кода можно использовать простую формулу:
Количество пикселей в модуле определяется в четвертом параметре при вызове метода. Размер модуля выбирается из таблицы размеров кода по следующим правилам:
- Выбираем столбец типа данных (data bits, numeric, alphanumeric, binary, или Kanji). Здесь определяется максимальная длина данных определенного типа, которые могут быть закодированы. В нашем примере использовался тип alphanumeric, но если будет кодироваться строка UTF-8, то следует использовать тип binary. Kanji применяется для Японского языка.
- Определяем нужный уровень коррекции ошибок. Находим для заданной длины строки минимальный номер версии, которая может хранить данные такой длины. В примере используется 24 символа с уровнем L, поэтому значение будет из первой строки.
- Получаем размер модуля (для примера будет 21×21). Библиотека PHP QR Code использует следующий номер для обеспечения запаса.
Если вычислить размер модуля для примера, то можно определить размер генерируемого изображения:
Но библиотека PHP QR Code использует модуль следующего размера:
Использование QR кодов
Наиболее популярное применение QR кодов — кодирование адресов URL веб сайтов, например, страниц фан-клубов в социальных сетях, онлайн описания продуктов и так далее. Ниже приводится пример визитной карточки, на которой QR кодом указан адрес профиля в LinkedIn.
Однако сфера применения QR кодов не имеет границ. В них можно хранить телефонные номера, адреса e-mail, краткие описания товаров и прочее. А использование специальных программ на смартфонах для чтения QR кодов существенно облегчает их использование в практической жизни человека.
Когда встает вопрос об использовании QR кода, реальные ограничения заключаются только в размере данных и пространстве для размещения .
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: phpmaster.com/generate-qr-codes-in-php/
Перевел: Сергей Фастунов
Урок создан: 28 Сентября 2012
Просмотров: 51904
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Источник