Ein PHP-QR-Code-Generator basierend auf der Implementierung von Kazuhiko Arase, benannt, bereinigt, verbessert und andere Dinge.
Es verfügt außerdem über einen QR-Code-Leser, der auf einer PHP-Portierung der ZXing-Bibliothek basiert.
Achtung: Es gibt jetzt auch einen Javascript-Port auf NPM: @chillerlan/qrcode.
Erstellung von Model 2 QR Codes, Version 1 bis 40
ECC-Stufen L/M/Q/H werden unterstützt
Unterstützung für gemischte Modi (Kodierungsmodi können innerhalb eines QR-Symbols kombiniert werden). Unterstützte Modi:
Kanji (Japanisch, Shift-JIS)
Hanzi (vereinfachtes Chinesisch, GB2312/GB18030), wie in GBT18284-2000 definiert
ECI-Unterstützung
numerisch
alphanumerisch
8-Bit-Binärdatei
13-Bit-Doppelbyte:
Flexible, leicht erweiterbare Ausgabemodule, integrierte Unterstützung für die folgenden Ausgabeformate:
GdImage (Rastergrafiken: Avif, BMP, GIF, JPEG, PNG, WebP)
ImageMagick (mehrere unterstützte Bildformate)
Markup-Typen: SVG, HTML usw.
String-Typen: JSON, Klartext usw.
Encapsulated Postscript (EPS)
PDF über FPDF
QR-Code-Leser (über GD und ImageMagick)
PHP 8.2+
ext-gd
für QRGdImage
-basierte Ausgabe
ext-imagick
mit installiertem ImageMagick
ext-fileinfo
wird für die QRImagick
Ausgabe benötigt
setasign/fpdf
für das PDF-Ausgabemodul
intervention/image
für alternative GD/ImageMagick-Ausgabe
ext-mbstring
optional:
Für den QR-Code-Leser ist entweder ext-gd
oder ext-imagick
erforderlich!
Das Benutzerhandbuch finden Sie unter https://php-qrcode.readthedocs.io/ (Quellen)
Eine mit phpDocumentor erstellte API-Dokumentation finden Sie unter https://chillerlan.github.io/php-qrcode/
Die Dokumentation für den QROptions
-Container finden Sie hier: chillerlan/php-settings-container
Wichtig: Bitte verwenden Sie die Beispiele aus dem Zweig, der zu Ihrer installierten PHP-Qrcode-Version (v4.x, v5.x, dev-main) passt!
Weitere Informationen finden Sie in der Installationsanleitung!
composer require chillerlan/php-qrcode
{ "require": { "php": "^8.2", "chillerlan/php-qrcode": "dev-main#<commit_hash>" } }
Hinweis: Ersetzen Sie dev-main
durch eine Versionsbeschränkung, z. B. ^5.0
– gültige Versionen finden Sie in den Releases.
Wir möchten diesen URI für einen mobilen Authentifikator in ein QRcode-Bild kodieren:
$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net';// schnell und einfach:echo '<img src="'.(new QRCode)->render($data).'" alt="QR-Code" />';
Warte, was war das? Bitte noch einmal, langsamer! Siehe Erweiterte Verwendung im Handbuch. Weitere Anwendungsbeispiele finden Sie auch im Beispielordner.
Die Verwendung des integrierten QR-Code-Lesers ist ziemlich einfach:
// Im Allgemeinen ist es eine gute Idee, den Reader in einen try/catch-Block zu packen, da er „eventuelltry{ $result = (new QRCode)->readFromFile('path/to/file.png');“ auslöst. // -> DecoderResult// Sie können jetzt die Ergebnisinstanz verwenden...$content = $result->data; $matrix = $result->getMatrix(); // -> QRMatrix// ...oder wandeln Sie es einfach in einen String um, um den Inhalt zu erhalten:$content = (string)$result; }catch(Throwable $e){ // Upsies!}
Hallo, schauen Sie sich bitte einige meiner anderen Projekte an, die viel cooler sind als QRcodes!
js-qrcode – ein Javascript-Port dieser Bibliothek
php-authenticator – eine Google Authenticator-Implementierung (siehe Authenticator-Beispiel)
php-httpinterface – eine PSR-7/15/17/18-Implementierung
php-oauth – eine OAuth 1/2-Client-Bibliothek, vollständig PSR-7/PSR-17/PSR-18-kompatibel
php-database – ein Datenbank-Client und Querybuilder für MySQL, Postgres, SQLite, MSSQL, Firebird
php-tootbot – eine Mastodon-Bot-Bibliothek (siehe @dwil)
Ich übernehme keine Verantwortung für kaputte CPUs, irregeführte Anwendungen, fehlgeschlagene Anmeldungen usw.. Nutzung auf eigene Gefahr!
Teile dieses Codes sind aus dem ZXing-Projekt nach PHP portiert und unter der Apache-Lizenz, Version 2.0, lizenziert.
Die Dokumentation ist unter der Creative Commons Attribution 4.0 International (CC BY 4.0)-Lizenz lizenziert.
Das Wort „QR-Code“ ist eine eingetragene Marke von DENSO WAVE INCORPORATED
https://www.qrcode.com/en/faq.html#patentH2Title