Un générateur de code QR PHP basé sur l'implémentation de Kazuhiko Arase, espace de noms, nettoyé, amélioré et autres.
Il dispose également d'un lecteur de QR Code basé sur un portage PHP de la bibliothèque ZXing.
Attention : il existe désormais également un port javascript sur NPM : @chillerlan/qrcode.
Création de QR Codes Modèle 2, Versions 1 à 40
Niveaux ECC L/M/Q/H pris en charge
Prise en charge du mode mixte (les modes d'encodage peuvent être combinés dans un symbole QR). Modes pris en charge :
kanji (japonais, Shift-JIS)
hanzi (chinois simplifié, GB2312/GB18030) tel que défini dans GBT18284-2000
Prise en charge de l'ICE
numérique
alphanumérique
binaire 8 bits
13 bits double octet :
Modules de sortie flexibles et facilement extensibles, prise en charge intégrée des formats de sortie suivants :
GdImage (graphiques raster : avif, bmp, gif, jpeg, png, webp)
ImageMagick (plusieurs formats d'image pris en charge)
Types de balisage : SVG, HTML, etc.
Types de chaînes : JSON, texte brut, etc.
Post-scriptum encapsulé (EPS)
PDF via FPDF
Lecteur de QR Code (via GD et ImageMagick)
PHP8.2+
ext-gd
pour la sortie basée sur QRGdImage
ext-imagick
avec ImageMagick installé
ext-fileinfo
requis par la sortie QRImagick
setasign/fpdf
pour le module de sortie PDF
intervention/image
pour une sortie GD/ImageMagick alternative
ext-mbstring
facultatif:
Pour le lecteur de QR Code, ext-gd
ou ext-imagick
est requis !
Le manuel d'utilisation est sur https://php-qrcode.readthedocs.io/ (sources)
Une documentation API créée avec phpDocumentor peut être trouvée sur https://chillerlan.github.io/php-qrcode/
La documentation du conteneur QROptions
peut être trouvée ici : chillerlan/php-settings-container
Important : veuillez utiliser les exemples de la branche qui correspond à votre version de php-qrcode installée ( v4.x, v5.x, dev-main ) !
Consultez le guide d'installation pour plus d'informations !
composer require chillerlan/php-qrcode
{ "require": { "php": "^8.2", "chillerlan/php-qrcode": "dev-main#<commit_hash>" } }
Remarque : remplacez dev-main
par une contrainte de version, par exemple ^5.0
- voir les versions pour les versions valides.
Nous souhaitons encoder cet URI pour un authentificateur mobile dans une image QRcode :
$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net';// simple et rapide :echo '<img src="'.(new QRCode)->render($data).'" alt="Code QR" />';
Attends, qu'est-ce que c'était ? S'il vous plaît, encore une fois, plus lentement ! Voir Utilisation avancée dans le manuel. Jetez également un œil dans le dossier des exemples pour d’autres exemples d’utilisation.
L'utilisation du lecteur de code QR intégré est assez simple :
// c'est généralement une bonne idée d'envelopper le lecteur dans un bloc try/catch car il finira par lancertry{ $result = (new QRCode)->readFromFile('path/to/file.png'); // -> DecoderResult// vous pouvez maintenant utiliser l'instance de résultat...$content = $result->data; $matrix = $result->getMatrix(); // -> QRMatrix// ...ou convertissez-le simplement en chaîne pour obtenir le contenu :$content = (string)$result; }catch(Throwable $e){ // oups !}
Bonjour, veuillez consulter certains de mes autres projets qui sont bien plus cool que les qrcodes !
js-qrcode - un port javascript de cette bibliothèque
php-authenticator - une implémentation de Google Authenticator (voir l'exemple d'authentificateur)
php-httpinterface - une implémentation PSR-7/15/17/18
php-oauth - une bibliothèque client OAuth 1/2, entièrement compatible PSR-7/PSR-17/PSR-18
php-database - un client de base de données et un générateur de requêtes pour MySQL, Postgres, SQLite, MSSQL, Firebird
php-tootbot - une bibliothèque de robots Mastodon (voir @dwil)
Je n'assume aucune responsabilité en cas de processeurs en fusion, d'applications induites en erreur, d'échecs de connexion, etc. Utilisez-le à vos propres risques !
Certaines parties de ce code sont portées vers PHP à partir du projet ZXing et sous licence Apache, version 2.0.
La documentation est sous licence Creative Commons Attribution 4.0 International (CC BY 4.0).
Le mot « QR Code » est une marque déposée de DENSO WAVE INCORPORATED
https://www.qrcode.com/en/faq.html#patentH2Title