タグ: 携帯

PHPでQRコードを自動生成するライブラリとか。

例えば、ショッピングサイトを作成するときに、商品それぞれに携帯ページがあって、そのページへのQRコードを自動生成させたい場合などがあったりしますよね。
CMSなどでPCページに対応する携帯ページを自動生成してくれるサービスは多くありますが、大量のページ1つ1つにQRコードを作成するのは面倒、でも、QRコードをつけることで気に入った商品に再度アクセスしてもらえるチャンスは広がります。

そういうときにこんなプログラム。

【QRcode Perl CGI & PHP scripts ver. 0.50】

http://www.swetake.com/qr/qr_cgi.html

  • GDを使用してQR codeのpngまたはjpegイメージを出力する、またはいくつかの画像を配置してホームページ上でQR codeを表示する perl CGIプログラム qr_img.cgi (perl5,GDおよびGD.pmが必要)
  • GDを使用してpngまたはjpegイメージを出力するPHPスクリプト qr_img.php (PHPおよびGDが必要)
  • 他にlibpng/jpeg-6bが必要

の2つが同梱されています。
PHPのほうが他のプログラムと連携させたり、カスタマイズしやすく、様々な方が拡張機能のPHPを公開されていますので、基本、こちらを使用したいと思います。

動作確認環境
Linux 2.4.18
apache-1.3.27 + PHP-4.3.0(as apache module)
perl 5.6.1
GD 2.0.11
GD.pm 2.06

ページ最下部の「qr_img0.50g.tar.gz (930KB)」をダウンロードし、展開します。

qr_img0.50-+-perl–+- qr_img.cgi (※CGIを利用する場合)
| +- qr_image.pl
| +- qr_html.pl
|
+-data -+- qrvV_N.dat
| +- rscX.dat
| +- qrvfrV.dat
|
+-image-+- qrvV.png
| +- b.png d.png
|
+-php — qr_img.php (※PHPを利用する場合)

展開したファイルをサーバーにアップし、アップしたスクリプトに表示させたいQRコードのパラメータを渡します。詳細は、READMEを参照してください。

  • ホームページリンクを表示させる場合のパラメータの渡し方例:
    <img src=”qr_img.php?d=<?=urlencode(http://www.bton.net46.net/)?>&e=M&s=3&t=j”>
  • メール送信させるときのパラメータの渡し方例(=日本語を使う場合はSJISエンコード):
    lt;php? $subject = urlencode(mb_convert_encoding(“おはよう”, “SJIS”));
    $body = urlencode(mb_convert_encoding(“こんにちは”, “SJIS”));
    ?>

    ※先にPHPで変数を設定しておく
    (DOCOMO)
    <img src=http://www.bton.net46.net/wp-admin/qr_img.php?d=MATMSG:TO:bton@bton.net46.net;SUB:&lt;?=$subject?&gt;;BODY:&lt;?=$body?&gt;;;&amp;e=M&amp;s=3&amp;t=j />
    (AU,SOFTBANK)
    <img src=”qr_img.php?d=MATMSG:TO:bton@bton.net46.net;SUB:<?=$subject?>;BODY:<?=$body?>;;&e=M&s=3&t=j”>

PHPで値を取り出すときのスクリプトとパラメータは下記参照してください。

メソッド 説明
set_qrcode_version(int z) QRコードのバージョンを設定します。
指定できる値は0または1~40の整数です。
なお0を指定すると「自動設定」となります。
int get_qrcode_ersion() QRコードのバージョンを取得します。
バージョン設定を自動にした時の結果を取得できます。
0が返ってきた場合は「自動設定」です。
set_qrcode_error_correct(string ecc_char) QRコードのエラー訂正レベルを設定します。
指定できる値は”L”,”M”,”Q”,”H”の4種類で省略した場合 M が選択されます。
string cal_qrcode(string data) 与えられたデータ列 data についてQRコードmodel2に変換し(0,1,\n)で構成された二次元コードテキストデータを出力します。
ここで出力されるデータはクワイエットゾーンは加味されません。
set_module_size(int z) QRコードのバージョンを取得します。
バージョン設定を自動にした時の結果を取得できます。
0が返ってきた場合は「自動設定」です。
int get_qrcode_version() モジュールサイズを z に設定します。
初期値は4です。
set_quietzone(int z) クワイエットゾーンの幅を z に設定します。
初期値は4です。
string qrcode_image_out(string org_data[,string image_type][,string filename]) URLエンコードされた文字列org_dataをQRコードに変換しimage_typeのイメージで出力します。
image_typeは’jpeg’または’png’を指定できます。
省略した場合はpngになります。
また第3引数にファイル名を指定した場合、そのファイルに出力を行います。
string image_out(string data [,string image_type][,string filename]) (0,1,\n)で構成されるQRコードテキストデータをimage_typeのイメージで出力します。
image_typeは’jpeg’または’png’を指定できます。
省略した場合はpngになります。
また第3引数にファイル名を指定した場合、そのファイルに出力を行います。

 
参考サイト:

  1. http://itpro.nikkeibp.co.jp/article/COLUMN/20061110/253264/?ST=start4 (◎)
  2. http://www.s-memo.net/blog/2006/11/phpqrqrcode_perl_cgi_php_scrip.php
  3. http://d.hatena.ne.jp/rsky/20070427/1177680276
  4. http://d.hatena.ne.jp/rsky/20070501
  5. http://www.jinlingren.com/eid15.html

今からでも遅くない! これから始めるケータイマーケティング入門

コンテンツリスト:http://web-tan.forum.impressrd.jp/l/2564

携帯サイトのマーケティングを分かりやすく解説しているコラム。

ドコモのiモードID通知機能

ドコモのiモードID通知機能公開。
i契約ユーザ毎に一意となるID番号「iモードIDを取得することができるようになり、個人の識別に使えるのでログインなどの機能に利用できます。

従来までの端末ID取得では、認証の度に確認ダイアログが出ており、利用者にとっては承認するのも拒否するのも不安に感じてしまうような機能だったのですが、今回のID通知機能で、こちらを使えば、携帯コンテンツの制作はしやすくなりますね。 

URLに「guid=ON」というパラメータを付けると、拡張ヘッダにiモードIDが付きます。

PHPでは、
echo $_SERVER['HTTP_X_DCMGUID'];
(Perlでは$ENV)
取得できるのは、7文字の英数字([0-9A-Za-z]{7})の文字列。
X-DCMGUID:XXXXXXX (Xが7桁)

 この機能を利用するには、利用者が通知を許可している必要がある。
(デフォルトは通知する)
iモードメニュー内にメニューが増えている。

  1. 会員登録時
  2. 会員登録後
  3. ID利用後
  • iモードIDについて
    1. iモードをご利用のお客様の携帯電話番号毎に一つ付与されるiモード用のユニークなIDとなります。
    2. 携帯電話番号とは異なるランダムな英数字の組み合わせにより構成されています。
      (メールアドレス、氏名などのご契約者情報は含まれません)
    3. 名義変更、改番、iモード契約の解約によりiモードIDは変更されます。
    4. ユーザID、携帯電話及びFOMAカードの製造番号情報とは異なります。
  • iモードIDの通知について
    iモード対応サイトにおいて、アクセス先URL内に予めiモードID用のパラメータを記述しておくことにより、お客様がサイトアクセスした際にiモードIDの通知が行われます。

【公式サイト】

→ NTT DoCoMo 重要なお知らせ 『iモードID』の提供開始についてnttdocomo.co.jp]

→ NTT DoCoMo 作ろうiモードコンテンツ iモードセンタの各種情報 iモードIDについて [nttdocomo.co.jp]

携帯サイト制作に便利なapacheモジュール「mod_ktai」

http://labs.yumemi.co.jp/labs/mod/man_contents.html

mod_ktaiはApache上で動くアプリケーションに対して、開発言語を問わず携帯サイト作成のための様々な機能を提供します。

  1. 携帯サイトの作成がより簡単に
    携帯サイトの場合、キャリア・機種によって絵文字の出力、表示可能データ量、画面の大きさなどが異なる為、キャリア・機種判別、絵文字の出し分け等、携帯サイト向けの知識が不可欠です。
    mod_ktaiを使用すると、それらの処理を簡単に行なうことが可能です。
    よって携帯サイト開発に関する知識がない方でもサイト構築を行なうことが可能になります。
  2. コーディング量の削減、工数削減
    弊社では、従来サイト毎、言語毎に、携帯サイト特有の処理をそれぞれ作成していましたが、携帯サイトに共通する処理を、mod_ktaiで行なうことでコーディング量・工数ともに大幅削減することができました。
  3. 処理が高速に
    Apacheモジュールは、phpやperlなどで作成したプログラムより高速処理が可能です。よって大規模サイトや高負荷なサイトでも十分使用可能です。

端末のUser-Agentと、独自に作成した機種情報リストを元に、携帯を判別し、環境変数に様々な値をセットし、Apache上のアプリケーションから端末情報を取得する事を可能にしたり、端末に応じた絵文字変換を行ってくれたり、といったことが出来ます。

サイトでは、マニュアルや情報も充実しており、利用しやすいです。

携帯サイト制作の情報満載のサイト「ke-tai.org」

http://ke-tai.org/blog/

携帯サイト制作に関する様々な便利情報やツールを紹介されています。情報も濃く、大変参考になります。

最新情報では、

ゆめみのケータイ用Apacheモジュール「mod_ktai」

mod_ktaiは、ケータイサイトでの絵文字変換や機種判別などの処理を行うためのApacheモジュール群です。
プログラムで変換処理を行わなくてもよいため、構造がシンプルになり、かつ動作が軽いのが特徴となります。
(上記の記事内では、変換処理が100倍以上に上がると書かれています)

という記事が公開されていました。興味津々。