QRコードって自分で作れるのかな?と思って調べてみたらPHPで簡単に作れることが分かりました。
実際に作成した簡単なサンプルを元に解説していきます。
PHPでQRコードを作成する方法
QRコードを作成するには、既にQRコードを作成するライブラリが用意されているのでそれを使います。
ダウンロードして実行するだけですが、最初は分からないですよね。
手順1.ライブラリをダウンロード
ライブラリをダウンロードします。
PHPで作成したかったので「QRコード クラス ライブラリ for PHP4/5 ver. 0.50beta」を選択しました。
ダウンロードファイルの形式は tar.gz ですね。
これは見慣れない人もいるかもしれないですが、Windowsのzipみたいなもんです。
無料の解凍ソフトで充分解凍できます。
展開すると以下のような構成になってます。
phpフォルダの中には qr_img.php というPHPファイルがあり、これがQRコードを作成するPHPの本体です。
README.txtは日本語なので面倒ですがとりあえず読んでおきましょう。
README.txt以外のフォルダ4つをHTTPアクセスできる場所に配置します。
次は実行します。
手順2.ライブラリ実行
README.txtも読んだけど文字が多くていまいち分からん・・・。
ということで、とりあえず php/qr_img.php にそのままアクセスしてみました(笑)
http://domain.com/php/qr_img.php
のような感じです。
実行したら500エラーになりました。
コードを見るとGETパラメータを受け取っていて、d がQRコードで読み取った結果の文字列になるみたいです。
この d を設定していないとエラーになります。
当然ですね。
なので
http://domain.com/php/qr_img.php?d=aaa
のようにURLを書いて実行したらQRコードの画像でました!
ただ、HTMLに画像が表示されるのではなく、画像をブラウザで開いたような感じです。
コードを見ると、「レスポンスは画像で!」ってコードがありました。
1 |
Header("Content-type: image/".$qrcode_image_type); |
実行結果は画像になるんですね。
ならば、
1 |
<img src="php/qr_img.php?d=aaa"> |
のように書けばHTMLに画像を表示させることができますね。
サンプルコードの完成形
上記を踏まえて画面で入力した文字列をQRコードにして画面に表示するサンプルを作成しました。
ファイル名は index.php とし、phpディレクトリと同じ階層に配置しました。
非常に簡単ですが、以下がそのコードになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php if (isset($_POST["qrtext"])) { $qrtext = $_POST["qrtext"]; } ?> <html> <head> <meta charset="UTF-8"> <title>LINEテスト</title> <meta name="description" content="このページの概要を書く"> <link rel="stylesheet" href="css/style.css"> </head> <body> <p>URLやテキストなど</p> <form action="" method="POST"> <input type="text" name="qrtext" value="<?php echo $qrtext; ?>"/> <input type="submit" value="送信" /> </form> <?php if (!empty($qrtext)) { ?><img src="php/qr_img.php?d=<?php echo $qrtext; ?>"><?php } ?> </body> </html> |
ブラウザで開くと初期表示は以下のようになります。
試しにこのページのURLを入力して実行してみました。
おお!!いい感じですな!!(←自画自賛)
まとめ
QRコードをPHPで作成する方法をサンプルコードつきで解説しました。
ライブラリはswetake.comさんからダウンロードできます。
ダウンロードしたら展開し、サーバーにアップロード。
上記のサンプルコード(index.php)もアップロードしたら、QRコード作れます。
コメントを残す