ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Сгенерируйте QR-код с помощью PHP

qrcp. Передача файлов между настольными и мобильными устройствами по Wi-Fi путем сканирования QR-кода

Полное значение QR-кода – это код быстрого ответа. Это матричный штрих-код и машиночитаемый код, который используется для считывания небольшого количества данных путем сканирования изображения QR с помощью мобильного телефона или сканера QR. Существует множество PHP-библиотек с открытым исходным кодом для генерации QR-кода с помощью PHP-скрипта. Кодировщик может загрузить любую лучшую бесплатную PHP-библиотеку генератора QR-кода с souceforge.net. В этом руководстве для создания QR-кода используется библиотека phpqrcode . В этом руководстве показано, как можно использовать библиотеку phpqrcode для генерации QR-кода с помощью скрипта PHP.

 

Установить библиотеку phpqrcode

Вам необходимо установить пакет phpqrcode в своей системе для генерации QR-кода с помощью PHP-скрипта. Вам также необходимо обновить вашу систему перед установкой пакета.

Выполните следующую команду, чтобы обновить систему:

$ sudo apt-get update -y

 

Выполните следующую команду, чтобы установить phpqrcode в Ubuntu:

$ sudo apt-get install -y phpqrcode

 

Выполните следующую команду, чтобы перезапустить сервер apache:

$ sudo service apache2 restart

 

QRcode – один из классов этой библиотеки, который содержит функцию png(), которая используется в примерах этой статьи для изображения QR. Синтаксис этой функции приведен ниже.

 

Синтаксис:

QRcode::png($text, $file, $error_correction, $pixel_size, $frame_size);

 

png() может принимать пять аргументов. Первый аргумент, $text, устанавливает данные, которые будут использоваться для генерации QR-кода. Второй аргумент, $file, устанавливает имя файла для хранения QR-изображения. Третий аргумент, $error_correction, устанавливает возможность исправления ошибок. Для указания уровня коррекции можно использовать четыре символа (L, M, Q и H). Четвертый аргумент, $pixel_size, устанавливает размер пикселя. Наконец, пятый аргумент, $frame_size, устанавливает размер QR, который может быть от 1 до 10.

 

Пример 1. Создание QR-кода и отображение его в браузере.

Следующий скрипт сгенерирует QR-изображение простых данных и отобразит изображение прямо в браузере. Создайте сценарий PHP со следующим сценарием.

Требуемый скрипт из библиотеки phpqrcode включен в начало скрипта. «Добро пожаловать в AndreyEx» используется в качестве данных в скрипте для создания QR-изображения. Условие if используется для проверки того, существует ли класс QRcode в скрипте или нет. Если класс существует, будет создано QR-изображение, в противном случае будет напечатано сообщение об ошибке. Затем тег используется для печати сгенерированного QR-изображения этим скриптом.

<? php
// Включаем необходимую библиотеку для Ubuntu
include('/usr/share/phpqrcode/qrlib.php');
// Устанавливаем данные для QR
$code = "Добро пожаловать в AndreyEx";
// проверяем, существует ли класс
if(class_exists('QRcode'))
{
// Генерируем QR
QRcode::png($code);
} else {
// Вывод сообщения об ошибке
echo 'класс загружен неправильно';
}
?>
<! - отобразить QR-изображение ->
<img src = "q1.php" />

 

Пример 2: Создайте и сохраните изображение QR в файл

В предыдущем примере QR-изображение печатается непосредственно в браузере, а не сохраняется в виде файла изображения. Следующий скрипт сохранит изображение QR как файл PNG. Создайте файл PHP со скриптом.

Здесь функция png () используется с двумя аргументами. «Генератор QR-кода PHP» используется в первом аргументе в качестве данных для генерации QR-кода, а «QRImage.png» используется во втором аргументе для сохранения изображения в файле. Затем HTML-код встраивается с тегом <img> для отображения файла QRImage.png в браузере.

<? php
// Включаем необходимую библиотеку для Ubuntu
include('/usr/share/phpqrcode/qrlib.php' );
// Устанавливаем данные для QR
$text="PHP QR Code Generator";

// проверяем, существует ли класс
if(class_exists ('QRcode'))
{
// Генерируем QR
QRcode::png($text, 'QRImage.png');
} else {
// Вывод сообщения об ошибке
echo 'класс загружен неправильно';
}
?>
<html>
<head>
<title> Генератор QR-кода </title>
</ head>
<body>
<! - отобразить QR-изображение ->
<img src = "QRImage.png" />
</body>
</html>

 

Пример 3: Создайте и сохраните QR-изображение в файл с размером

В двух предыдущих примерах размер кадра и размер пикселя не определены для создания изображения QR. Следующий сценарий создаст QR-изображение с определенным размером пикселя и кадра и сохранит изображение в файле PNG. Все пять аргументов используются в функции png () этого скрипта. «Learn PHP from AndreyEx» устанавливается в первом аргументе функции png (), которая используется для генерации QR-изображения. Функция uniqid () используется в скрипте для создания имени файла PNG с уникальным идентификатором. «L» используется для уровня коррекции ошибок. 12 устанавливается для размера пикселя, а 8 устанавливается для размера кадра QR-изображения. Затем имя файла используется в теге для отображения созданного QR-изображения данных.

<? php
// Включаем необходимую библиотеку для Ubuntu
include('/usr/share/phpqrcode/qrlib.php');
// Устанавливаем данные для QR
$text="Изучите PHP из AndreyEx";
// Устанавливаем имя файла с уникальным идентификатором
$filename=uniqid().".png";
// Устанавливаем уровень коррекции ошибок ('L')
$e_correction='L';
// Устанавливаем размер пикселя
$pixel_size=12;
// Устанавливаем размер кадра
$frame_size=8;
// Генерирует QR-код изображения 
QR::png( $text, $filename, $e_correction, $pixel_size, $frame_size );
// Отображение QR-изображения
echo "<img src='".$filename."'>";
?>

Заключение

В библиотеке phpqrcode существует множество функций для генерации QR-кода. Виды использования в PNG () функции QRcode класса описаны в этом руководстве, используя различные примеры. Способы создания QR-изображения напрямую, сохранения QR-изображения в файл и создания QR-изображения нестандартного размера показаны в этом руководстве, чтобы помочь PHP-кодеру легко создать QR-код с помощью PHP-скрипта.

Exit mobile version