PHP QR-Code-Generator: Überblick über die besten Bibliotheken
QR-Codes sind zu einem festen Bestandteil des modernen Webs geworden. Sie werden für den schnellen Zugriff auf Links, die Übertragung von Kontaktdaten, die Authentifizierung in Diensten und sogar für Zahlungen verwendet. Wenn Sie in PHP entwickeln und die QR-Code-Generierung auf Ihrer Website integrieren möchten, müssen Sie das Rad nicht neu erfinden – es gibt bewährte Bibliotheken, die diese Aufgabe mit wenigen Codezeilen erledigen.
In diesem Artikel betrachten wir drei beliebte Lösungen: die klassische phpqrcode, die moderne endroid/qr-code und die leichte chillerlan/php-qrcode. Sie erfahren, wie Sie jede davon installieren, einen QR-Code generieren und ihn auf dem Bildschirm anzeigen oder in einer Datei speichern.
1. Bibliothek phpqrcode (klassische Variante)
Dies ist eine der ersten Bibliotheken zur QR-Code-Generierung in PHP. Sie benötigt keine externen Abhängigkeiten, funktioniert „out of the box“ und wird immer noch in vielen Legacy-Projekten verwendet. Der Hauptnachteil ist das Fehlen der Unterstützung moderner PSR-Standards und von Composer (obwohl sie manuell installiert werden kann).
Installation
Laden Sie das Archiv von SourceForge herunter und entpacken Sie es in den Ordner Ihres Projekts. Binden Sie die Datei qrlib.php ein:
require_once 'phpqrcode/qrlib.php';Beispiel zur Generierung und Ausgabe von PNG
<?phprequire_once 'phpqrcode/qrlib.php';
// Daten zum Kodieren$text = 'https://pythonlib.ru';
// Pfad zum Speichern der Datei$filename = 'qrcode.png';
// QR-Code-Generierung mit Korrekturstufe L (7%) und Größe 10QRcode::png($text, $filename, QR_ECLEVEL_L, 10, 2);
// Bild im Browser ausgebenheader('Content-Type: image/png');QRcode::png($text, false, QR_ECLEVEL_L, 10, 2);?>Der zweite Parameter false bedeutet, dass das Bild direkt im Browser ausgegeben und nicht in einer Datei gespeichert wird.
2. Bibliothek endroid/qr-code (modern und flexibel)
Dies ist die beliebteste Lösung auf Packagist. Die Bibliothek unterstützt PSR-4, lässt sich leicht in jedes Framework (Laravel, Symfony) integrieren und ermöglicht die Anpassung von Farben, Größe, Rändern und sogar das Hinzufügen eines Logos.
Installation über Composer
composer require endroid/qr-codeBasisbeispiel zur Generierung
<?phprequire 'vendor/autoload.php';
use Endroid\\QrCode\\QrCode;use Endroid\\QrCode\\Writer\\PngWriter;
$qrCode = QrCode::create('https://pythonlib.ru') ->setSize(300) ->setMargin(10);
$writer = new PngWriter();$result = $writer->write($qrCode);
// Ausgabe im Browserheader('Content-Type: '.$result->getMimeType());echo $result->getString();?>QR-Code mit Logo
<?phpuse Endroid\\QrCode\\Logo\\Logo;use Endroid\\QrCode\\Color\\Color;
$logo = Logo::create('path/to/logo.png') ->setResizeToWidth(60);
$qrCode = QrCode::create('https://pythonlib.ru') ->setSize(400) ->setForegroundColor(new Color(0, 123, 255)); // blaue Farbe
$writer = new PngWriter();$result = $writer->write($qrCode, $logo);
header('Content-Type: image/png');echo $result->getString();?>3. Bibliothek chillerlan/php-qrcode (leicht und schnell)
Eine ausgezeichnete Wahl, wenn Sie eine minimale Abhängigkeit und hohe Leistung benötigen. Die Bibliothek unterstützt alle Standard-Kodierungsmodi, Masken und Fehlerkorrekturstufen. Ideal für stark ausgelastete Projekte.
Installation
composer require chillerlan/php-qrcodeBeispiel zur Generierung
<?phprequire 'vendor/autoload.php';
use chillerlan\\QRCode\\QRCode;use chillerlan\\QRCode\\QROptions;
$options = new QROptions([ 'outputType' => QRCode::OUTPUT_IMAGE_PNG, 'eccLevel' => QRCode::ECC_L,