Generierung von QR-Codes mit PHP und der Bibliothek phpqrcode
\n\nQR-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\nWas ist phpqrcode?
\nphpqrcode 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\nInstallation und Einbindung
\nSie 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:
composer require phpqrcode/phpqrcode\n\nNach 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\nBasisbeispiel: Generierung eines QR-Codes
\nDas einfachste Beispiel ist die Erstellung eines QR-Codes, der eine Textzeichenfolge oder eine URL enthält. Dazu wird die statische Methode QRcode::png() verwendet:
<?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\nWenn 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\nAnpassung des Aussehens: Farbe und Größe
\nEin 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\nFü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().
Generierung eines QR-Codes für Wi-Fi
\nEine 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\nErstellung eines QR-Codes für vCard (Kontakte)
\nEin 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 Auch in der Bibliothek
HTML-Parsing in TypeScript: Bibliotheken, Tools und Codebeispiele
Rust PDF erstellen: Komplette Anleitung mit Beispielen
golangci-lint für Go: Vollständige Anleitung mit Beispielen
awilix für TypeScript: Vollständiges Guide mit Beispielen