cakephpでQRコード生成MEMO。
– module
Image_QRCode を使います。
download : http://pear.php.net/package/Image_QRCode/download
document : https://wiki.php.net/pear/packages/image_qrcode
/lib/ ディレクトリ配下に設置します。
入っていない場合は、pearが必要です。
yum -y install php-pear
– Controller
今回はGETで渡された数列のIDをQRコード画像にして返します。
Layoutはajax用に設定し、余計なLayoutの表示を防ぎます。
public function get_qr(){ $this->layout = 'ajax'; $this->set('some_url', 'http://hogehoge.com'); return; }
– view
表示用のviewでライブラリを読み込みます。
require_once APPLIBS . 'Image_QRCode-0.1.3/Image_QRCode-0.1.3/Image/QRCode.php'; $QR = new Image_QRCode(); $option = array( 'module_size' => 4, 'image_type' => 'png', 'output_type' => 'display', 'error_correct' => 'H', ); $qrcode = $QR->makeCode(htmlspecialchars($some_url, ENT_QUOTES), $option); imagepng($qrcode, "qr.png"); imagedestroy($qrcode);
– results
こんな感じでアクセスします。
<img src="api.com/get_qr">