QR モジュール for Kohana 3.0.x
必要に迫られたのでQR(2次元バーコード)のモジュールを作りました。
モジュールと言っても http://swetake.com/ さんが公開しているライブラリのラッパークラスです。
使い方の勉強のため Github.com にて公開しています。
https://github.com/ele-eel/kohana-QR
クラスライブラリはこちら
http://swetake.com/qr/
使い方
1. 上記サイトからPHPクラスライブラリをダウンロードして、vendor/qrcode_php ディレクトリに入れる。
2.クラスライブラリ qrcode.php のファイルパスを変更。
define('QRCODE_DATA_PATH', MODPATH.'kohana-qr/vendor/qrcode_php/qrcode_data');
3.bootstrap.php にて、QRモジュールを有効にする。
'kohana-qr' => MODPATH.'kohana-qr', // QR image module
4.サンプル Controller で画像表示を確認する。
http://サイトURL/qr?url=表示したいテキスト
(例)
サンプルコントローラ Controller_QrUrl
単純に url というパラメータを画像に変換しています。このまま使用するとセキュリティ上好ましくないので、実際に使用する際には修正します。
<?php class Controller_QrUrl extends Controller { public function action_encode() { try { //Edit the header content type. $this->request->headers['Content-Type'] = 'image/png'; //configで画像の設定を行う $config = array( 'version' => 6, //set_qrcode_version() 'error_correct' => 'H', //set_qrcode_error_correct() 'size' => 2, //set_module_size() 'quietzone' => 4, //set_quietzone() ); echo QR::factory($config)->render($_GET['url'], 'png'); } catch(ErrorException $e) { echo ''; } } }
画像の分割機能 structureappend
ライブラリには(試験導入)として画像分割機能があって、それ用のメソッドも作ってみましたが、分割はできるものの読み込みエラーとなってしまいます。