使用PHP库(chillerlan/php-qrcode)创建QR码®
我使用PHP库(chillerlan/php-qrcode)创建了一个QR码®。
这篇文章讨论的环境问题
主机操作系统:Windows10 Pro 64位 8GB
客户操作系统:Red Hat Enterprise Linux版本8.3(Ootpa)
Oracle VM VirtualBox版本:6.0.4a
vagrant版本:Vagrant 2.2.14
Apache版本:2.4.37
PHP版本:PHP 7.4.15
Tera Term版本:4.105
Composer版本:Composer版本2.0.8 2020年12月03日 17:20:38
chillerlan/php-qrcode版本:4.3.4
Google Chrome版本:96.0.4664.110
命令提示符
实际源码位于主机操作系统一侧。
第一步(引入库)
-
- Tera TermでゲストOSに接続する。
-
- 作業用ディレクトリを作成する。
- 作業用ディレクトリ配下でディレクトリ作成コマンドを実施する。
mkdir -p php-qr-code-generator \
php-qr-code-generator/src/QR/{Image,Options} \
php-qr-code-generator/public/img
- ディレクトリを移動する。
cd php-qr-code-generator
- composerを使ってライブラリを取得する。
composer require chillerlan/php-qrcode
第二步(代码编写至操作确认)
-
- ソースコードを書く。(サンプルは以下に載せています。)
作業用ディレクトリのパスを指定してもいいし、作業用ディレクトリを実行用パスにコピーしてもいい。
ブラウザ上にQRコード®が表示されていることを確認する。
QRコード®を読み込んで、サイトへ遷移できることを確認する。
成果物(源代码(控制端))
// 定義(必要に応じてパスを変更してください。)
use chillerlan\QRCode\QRCode;
use chillerlan\QRCode\QROptions;
(中略)
// 実処理
require_once([実行用基点ディレクトリ] . '/php-qr-code-generator/vendor/autoload.php');
$options = new QROptions(
[
eccLevel' => QRCode::ECC_L,
outputType' => QRCode::OUTPUT_IMAGE_PNG,
version' => 5,
imageTransparent' => false,
]
);
$qrcode = (new QRCode($options))->render('https://[QRコード®を作成するURL]');
-
- eccLevel:QRコードの欠損を何%まで許容するか。
L ・・・ 7%までなら欠けてもOK
M ・・・ 15%までなら欠けてもOK
Q ・・・ 25%までなら欠けてもOK
H ・・・ 30%までなら欠けてもOK
outputType:出力画像タイプ(SVG、PNG、JPG、GIF、、、)
version:QRコードの粒度、細かさが変わる。
imageTransparent:透過するかどうか。(true:透過する、false:透過しない)
他にできそうなこと:QRの色指定、サイズ指定、QRにロゴを付ける。
成果物(源代码(界面侧))
<img src='<?= $qrcode ?>' alt='QR Code' width='800' height='800'>
在中国有各种各样的美食。
以下是一些中文翻译选项:
1. https://chillerlan.github.io/php-qrcode/classes/chillerlan-QRCode-QRCode.html
这是一个关于chillerlan-QRCode-QRCode类的网页链接。
2. https://www.twilio.com/blog/create-qr-code-in-php-jp
这是一个关于用PHP创建QR码的博客文章。
3. https://blog.capilano-fw.com/?p=2140
这是一个有关于Capilano Framework的博客文章,其中包含一个题为”2140″的页面。