php_qrがバージョンアップ
速攻で改良版(0.1.2)が出ています :-)
qr_mimetypeは前のエントリのサンプルコードが元で実装されたそうで。ありがとうございます :-) 今回はOO的に書いてみました。finalizeし忘れてハマりました。。。
- for PHP4/5
- for PHP5 only
imagecopy() で他の画像に QRコードを埋め込む等の利用方法を想定。
<?php !extension_loaded('qr') && (dl('qr.so') || exit(1)); $data = 'サンプルをさらに変えてみました'; $data = mb_convert_encoding($data, 'sjis-win', 'eucjp-win'); $options = array( 'format' => QR_FMT_PNG, 'magnify' => 2, ); $qr = new QRCode($options); $qr->addData($data, QR_EM_AUTO); $qr->finalize(); header('Content-Type: ' . $qr->getMimeType()); echo $qr->getSymbol();
また、0.1.2ではイメージリソースとして取得できるようになっているようです。ということは「サイトロゴとURLのQRコード」を動的に作るとか「写真とQRコード」とか、いろいろできそうですね。
あ。QRを表示する、もしくはデータを返すだけのRESTサービスもできそう。バイナリのまま返すのも何なので、BASE64エンコードすりゃ良いかと思ったんですが、受け取り側はどうしよう。。。ということで、ちょっと調べてみたんですが、そういえばimg要素のsrc属性って、
<img id="qr2" src="data:image/png;base64,iVBORw...==">
みたいにそのまま埋め込めたんでしたっけ。。。となると、あとは画像の差し替えをjavascript使ってサクッとできそうですね。