From a9a3f69e50b43db7559a7b59201b0b9d128d1252 Mon Sep 17 00:00:00 2001 From: smiley Date: Wed, 1 Feb 2023 20:35:06 +0100 Subject: [PATCH] :octocat: multi mode example --- examples/Readme.md | 3 ++- examples/multimode.php | 51 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 examples/multimode.php diff --git a/examples/Readme.md b/examples/Readme.md index 4bce8f94a..4d8b264c9 100644 --- a/examples/Readme.md +++ b/examples/Readme.md @@ -9,7 +9,8 @@ - [FPDF](./fpdf.php): PDF output via [FPDF](http://www.fpdf.org/) - [EPS](./eps.php): Encapsulated PostScript - [String](./text.php): String output -- [QRCode Reader](./reader.php): a simple reader example +- [Multi mode](./multimode.php): a demostration of multi mode usage +- [QRCode reader](./reader.php): a simple reader example ## Advanced output examples diff --git a/examples/multimode.php b/examples/multimode.php new file mode 100644 index 000000000..1a98b18f3 --- /dev/null +++ b/examples/multimode.php @@ -0,0 +1,51 @@ + + * @copyright 2023 smiley + * @license MIT + */ + +use chillerlan\QRCode\QRCode; +use chillerlan\QRCode\QROptions; + +require_once __DIR__.'/../vendor/autoload.php'; + +// make sure we run in UTF-8 +// ideally, this should be set in php.ini => internal_encoding/default_charset or mbstring.internal_encoding +mb_internal_encoding('UTF-8'); + +// please excuse the IDE yelling https://youtrack.jetbrains.com/issue/WI-66549 +$options = new QROptions; +$options->imageBase64 = false; +$options->connectPaths = true; + +$qrcode = (new QRCode($options)) + ->addNumericSegment('1312') + ->addByteSegment("\n") + ->addAlphaNumSegment('ACAB') + ->addByteSegment("\n") + ->addKanjiSegment('すべての警官はろくでなしです') + ->addByteSegment("\n") + ->addHanziSegment('所有警察都是混蛋') + ->addByteSegment("\n") + ->addByteSegment('https://www.bundesverfassungsgericht.de/SharedDocs/Pressemitteilungen/DE/2016/bvg16-036.html') +; + +$render = $qrcode->render(); + +if(PHP_SAPI !== 'cli'){ + header('Content-type: image/svg+xml'); + + if(extension_loaded('zlib')){ + header('Vary: Accept-Encoding'); + header('Content-Encoding: gzip'); + $render = gzencode($render, 9); + } +} + +echo $render; + +exit;