qrcode.inc.php

Last-modified: Mon, 06 Nov 2017 16:31:28 JST (1008d)
Top > qrcode.inc.php

qrcode.inc.php

サマリQRコード表示プラグイン
リビジョン0.5
対応バージョン1.4
投稿者みこ
投稿日2004-01-31 (土) 10:26:29

概要

 指定した文字列のQRコードをPNG画像で表示します。なんとなくページごとにiモードへのリンクがすぐとれればいいなとおもって、作ってみました。

制限

 本来はバージョン40までできるのですが、速度とのバランスとわたしの目的を達成するのみにするために、バージョン10までの表示に制限してあります。また、バーコードの分割には対応していません。(将来対応予定?)は暫定対応です。

環境

 PukiWiki1.4 + GD2.0.10以上(PHP4.3.0などはGDのバージョンに気をつけてください。)

使い方

 次のいずれかの書式です。通常は一番上のみで問題ないと思います。

&qrcode{バーコード化する文字列};
&qrcode(サイズ){バーコード化する文字列};
&qrcode(サイズ,訂正方法){バーコード化する文字列};
&qrcode(サイズ,訂正方法,バージョン){バーコード化する文字列};
&qrcode(サイズ,訂正方法,バージョン,分割数){バーコード化する文字列};

引数

引数説明省略時
サイズバーコードの最小ピクセル1
訂正方法訂正コードのレベルです(N/M/H/Q)M
バージョン使用するQRコードのバージョン(1〜10)0(自動判別)
分割数連結機能を使用する場合の分割数1(分割しない)
文字列バーコード化する文字列省略不可

補足

 リンク時に拡大表示されるQRコードのピクセルサイズは4固定です。

サンプル

サンプル1
ドコモのQRブックマークに対応させるには、以下のようにします。
&qrcode(2){MEBKM:TITLE:みこのカフェテラス;URL:http\://cafelounge.net/;;};
サンプル2
さらに、メニューバーに自分自身のアドレスを埋め込みます。(skin/pukiwiki.skin.ja.php)
  <td class="menubar">
   <div id="menubar">
    <?php echo do_plugin_convert('menu') ?>
   </div>
   <br />
   <div align="center">
<?php
  require_once(PLUGIN_DIR.'qrcode.inc.php');
  $a_title  = $title;
  $a_title  = str_replace("\\", "\\\\", $a_title);
  $a_title  = str_replace(':', '\:', $a_title);
  $a_title  = str_replace(';', '\;', $a_title);
  $a_title  = str_replace(',', '\,', $a_title);
  $a_ptitle = $page_title;
  $a_ptitle = str_replace("\\", "\\\\", $a_ptitle);
  $a_ptitle = str_replace(':', '\:', $a_ptitle);
  $a_ptitle = str_replace(';', '\;', $a_ptitle);
  $a_ptitle = str_replace(',', '\,', $a_ptitle);
  $a_script = $script;
  $a_script = str_replace("\\", "\\\\", $a_script);
  $a_script = str_replace(':', '\:', $a_script);
  $a_script = str_replace(';', '\;', $a_script);
  $a_script = str_replace(',', '\,', $a_script);
  echo plugin_qrcode_inline(1,"MEBKM:TITLE:$a_title - $a_ptitle;URL:$a_script?$r_page;;");
?>
  </div>
サンプル3
さらに連結機能に対応させるには、以下のようにします。
&qrcode(2,M,0,2){MEBKM:TITLE:みこのカフェテラス;URL:http\://cafelounge.net/;;};

更新履歴

  • qrcode-0.5.zip ←最新バージョンです。
    • XHTML1.1に対応しました。
  • qrcode-0.4.zip
    • データ上で減色するようにしました。
  • qrcode-0.3.zip
    • XSSの脆弱性を修正しました。
  • qrcode-0.2.zip
    • 分割コードに仮対応しました。
  • qrcode-0.1.zip
    • 初期バージョン

0.2 で XSS の脆弱性が発見されたので、0.3以降を使用してください。

著作権表示

QRcode Perl CGI & PHP scripts ver. 0.50d, (c)2001-2003 Y.Swetake
PukiWiki 1.4 Plug-in, (c)2004 Miko.Hoshina

 QRコードのエンジン部分はY.Swetakeさんが著作権を持っています。今回は、Pukiwikiバージョンの公開を快く承諾していただいてありがとうございます。

参考リンク

http://www.qrcode.com/
http://www.nttdocomo.co.jp/p_s/imode/barcode/