【PHP】QRコードを生成する。

メモ。

大前提としてphp-gdのライブラリが必須。※image関数を用いるため。

まず下記サイトよりライブラリをダウンロード

http://pear.php.net/package/Image_QRCode/download

ダウンロードしたファイルを解凍し、下記ディレクトリをサーバーにアップロード

/data
/Image
/imagedata

下記ファイルをスクリプト中で読み込む

require_once('/Image/QRCode.php');

※「/data」や「/imagedata」内のファイルをQRCode.phpから参照出来るように若干修正が必要な場合あり。

準備が整ったら下記のようにして使う。

$url = 'http://www.yahoo.co.jp';
// QRコードを生成
$qr = new Image_QRCode();
$image = $qr->makeCode(htmlspecialchars($url, ENT_QUOTES), array('output_type' => 'return'));

ここでは第3引数を渡しているが、もし渡さなかった場合はその場でQRコードがブラウザに出力される。
output_typeにreturnを指定してやると関数が画像リソースを返してくれるので、あとはバッファに溜め込み変数で受け取ったり、他の画像関数に投げたり自分で好きに調理することが可能となる。