php_qr-0.1.1 & libqr-0.1.2

php_qr-0.1.1.tgz
libqr-0.1.2.tgz
libqr の内容はすべて php_qr に含まれています。

php_qr の変更点

  • for PHP4/5
    • 出力形式に対応した MIME タイプを返す関数 string qr_mimetype(int $format) を追加。
  • for PHP5 only
    • 出力形式に対応した MIME タイプを返すメソッド string QRCode::getMimeType(void) を追加。
    • QRコードシンボルをイメージリソースとして返すメソッド resource QRCode::getImageResource(void) を追加。
      imagecopy() で他の画像に QRコードを埋め込む等の利用方法を想定。

libqr の変更点

  • API 関数で入力データ引数の型を qr_byte_t * から const qr_byte_t * に変更。
  • qrMimeType() 関数を追加。
  • PHP バンドル版 GD との連携に関して調整。

qr_mimetype() について

qr_mimetype() 関数は id:shimooka さんが、QRコード生成拡張モジュール - Do You PHP はてな で紹介してくださったのを見て実装しました。
使用例はこうなります。

<?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,
);
header('Content-Type: ' . qr_mimetype($options['format']));
qr_output_symbol(null, $data, $options);