Generierung von QR-Codes mit PHP: Bibliothek phpqrcode und vollständiger Leitfaden

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Generierung von QR-Codes mit PHP und der Bibliothek phpqrcode

\n\n

QR-Codes sind zu einem festen Bestandteil des modernen Webs geworden. Sie werden verwendet, um schnell Links zu folgen, Kontaktdaten zu übertragen, sich mit Wi-Fi zu verbinden und vieles mehr. In diesem Artikel analysieren wir die beliebte PHP-Bibliothek phpqrcode, mit der Sie schnell und einfach QR-Codes auf der Serverseite generieren können. Dies ist die ideale Lösung für eine Bildungswebsite, auf der die Arbeit mit QR-Codes anschaulich gezeigt werden soll.

\n\n

Was ist phpqrcode?

\n

phpqrcode ist eine leichte, aber leistungsstarke Bibliothek zur Generierung von QR-Codes in reinem PHP. Sie erfordert keine Installation zusätzlicher Erweiterungen (z. B. GD oder Imagick), unterstützt diese jedoch, falls vorhanden. Die Bibliothek kann QR-Codes verschiedener Versionen (von 1 bis 40) mit unterschiedlichen Fehlerkorrekturstufen (L, M, Q, H) erstellen und das Ergebnis als PNG, GIF oder JPEG speichern. Der Hauptvorteil ist die einfache Handhabung: Es reicht aus, eine Datei einzubinden und eine Funktion aufzurufen.

\n\n

Installation und Einbindung

\n

Sie können die Bibliothek vom offiziellen Repository auf GitHub oder SourceForge herunterladen. Für die Installation kopieren Sie einfach die Datei phpqrcode.php in Ihr Projekt. Eine alternative Methode ist die Installation über Composer:

\n\n
composer require phpqrcode/phpqrcode
\n\n

Nach der Installation binden Sie die Bibliothek in Ihr PHP-Skript ein:

\n\n
<?php\n// Bei manueller Installation\ninclude 'phpqrcode.php';\n\n// Oder über Composer\nrequire 'vendor/autoload.php';\n?>
\n\n

Basisbeispiel: Generierung eines QR-Codes

\n

Das einfachste Beispiel ist die Erstellung eines QR-Codes, der eine Textzeichenfolge oder eine URL enthält. Dazu wird die statische Methode QRcode::png() verwendet:

\n\n
<?php\n$text = "https://pythonlib.ru";\n$filename = "qrcode.png"; // Wenn nicht angegeben, wird das Bild direkt ausgegeben\n$errorCorrectionLevel = 'L'; // Fehlerkorrekturstufe: L, M, Q, H\n$matrixPointSize = 10; // Punktgröße (1-10)\n\n// Generierung und Speicherung in einer Datei\nQRcode::png($text, $filename, $errorCorrectionLevel, $matrixPointSize, 2);\n\necho "QR-Code wurde als $filename gespeichert";\n?>
\n\n

Wenn der zweite Parameter weggelassen wird, gibt die Bibliothek das PNG-Bild direkt an den Browser aus:

\n\n
<?php\nheader('Content-Type: image/png');\nQRcode::png('https://pythonlib.ru', false, 'H', 8, 2);\n?>
\n\n

Anpassung des Aussehens: Farbe und Größe

\n

Ein Standard-QR-Code ist schwarz-weiß. Um ihn farbig zu gestalten oder den Hintergrund zu ändern, nutzen Sie die erweiterten Funktionen. Die Bibliothek ermöglicht die Farbangabe über ein Array:

\n\n
<?php\n$text = "Hallo, PythonLib!";\n$filename = "color_qr.png";\n\n// Parameter: [R, G, B] für Module und Hintergrund\n$config = [\n    'module' => [52, 73, 94], // Dunkelblau\n    'background' => [236, 240, 241] // Hellgrau\n];\n\nQRcode::png($text, $filename, 'M', 10, 2, false, $config);\n?>
\n\n

Für die genaue Einstellung der Größe verwenden Sie den Parameter $matrixPointSize (von 1 bis 10). Je höher der Wert, desto größer der QR-Code. Sie können auch $quietZone (weißer Rand um den Code) festlegen – dies ist der letzte Parameter in der Methode png().

\n\n

Generierung eines QR-Codes für Wi-Fi

\n

Eine der beliebtesten Aufgaben ist die Erstellung eines QR-Codes für die Wi-Fi-Verbindung. Das Datenformat muss der Spezifikation entsprechen:

\n\n
<?php\n$ssid = "MyHomeNetwork";\n$password = "secret123";\n$encryption = "WPA"; // WPA, WEP oder leer für offenes Netzwerk\n\n$wifiString = "WIFI:T:$encryption;S:$ssid;P:$password;;";\n\nQRcode::png($wifiString, "wifi_qr.png", 'Q', 10, 2);\necho "QR-Code für Wi-Fi ist fertig!";\n?>
\n\n

Erstellung eines QR-Codes für vCard (Kontakte)

\n

Ein QR-Code kann eine vCard-Visitenkarte enthalten. Dies ist praktisch, um schnell einen Kontakt zum Telefon hinzuzufügen:

\n\n
<?php\n$vcard = "BEGIN:VCARD\\n";\n$vcard .= "VERSION:3.0\\n";\n$vcard .= "FN:Ivan Petrov\\n";\n$vcard .= "TEL:+7-123-456-78-90\\n";\n$vcard .= "EMAIL:ivan@exampl                    

Empfehlungen