QRコードの生成

2007/05/11 | PHPライブラリ

最近はケータイもどんどん普及して、インターネット契約者数ではi-modeが一番多いらしいという記事をどこかで読んだ(去年見聞きした話だけど)。
ケータイからウェブにアクセスする際、数字キーでURLをたたくのは面倒だから、やはりここはQRコードの登場となる。いつだったかQRコードが大流行してた時期があったと思うけど、今はそれほどでもないのだろうか。それともあまりに当たり前になってしまったので話題にも上らないのだろうか。
いずれにせよ「ケータイに(URLをメールで)送信」機能と並んで便利に利用できるツールだ。
PHPからQRコードを生成するライブラリといえば、Y.Swetakeさんが作成された「qr_image(QRcode Perl CGI & PHP scripts)」が有名だ(サイトはこちら)。クラスライブラリとしても提供されているので、非常に簡単にQRコードを作成できる。
作り方はこんな感じ。

qrcode.php
<?php
require_once("qrcode_img.php");
header("Content-type: image/png");
$qrData = ‘http://php.tekmemo.com';
$qrCode = new Qrcode_image;
$qrCode->qrcode_image_out($qrData, "png");
?>

てな具合だ(事前にライブラリのパス設定が必要)。
最初にライブラリを読み込んで、ヘッダを送信し、次にイメージを生成する。これを<img src=’qrcode.php’>などとイメージタグから呼び出すと、HTML上でQRコードを表示させることができる。
すばらしいライブラリ提供者のY.Swetakeさんに感謝。

PageRank取得プログラム改修

2007/05/09 | PHPライブラリ

仕様の変更?で取得できなくなってしまっていたPageRank取得プログラムを改修した。今まではレスポンスをxmlで受け取ってそこからPageRankと思しき部分を切り出していたのだが、現在はリクエスト時に直接PageRankをとるようにしている。取り急ぎ、うまく動いている模様。
現在プログラム等々とりまとめ中。近日公開予定。

PageRank取得ページはこちら

PageRankが取得できなくなった要因の考察

2007/05/06 | PHPライブラリ

今まで動いていたPageRank(ページランク)取得プログラムが突然動かなくなった。
いろいろ調べてみて、なんとなく原因がわかった。

PageRankを取得するために、Googleのサーバにクエリを投げるわけだが、レスポンスはXMLで返される。その中のPageRankに相当すると思われていた部分が今は全て「0」で返されている模様。つまりプログラムは正しく動いているのだが、レスポンスが0になってしまっているわけだ。

考察としていえるのは以下の2点。
○元々PageRankじゃないものを取得していた(PageRankに非常に近いパラメータであった)
○Googleからの出力の仕様が変わった(おかしくなっている?)。

PageRankだけを取得するクエリがあるのだが、こちらだと問題なく取得できるようだ(よって今まで動作していたプログラムには問題がなく、Google側の問題と思われる)。

原因がわかったので、全部とりまとめて、PageRankのプログラムを公開します(公開といってもどこかの誰かさんが作成したプログラムの改良ですので、あまりオリジナリティはありませんが)。乞うご期待。

PageRank取得アルゴリズムの変更?

2007/05/05 | PHPライブラリ

モロモロ好評をいただいているGoogleのPageRankを取得するための仕組みだが、実はつい最近取得できなくなった。自分の手元にはこれまで2種類のプログラムがあって、そのどちらでも取得できていたのだが、これがどちらでも取得できなくなってしまった(この二つのプログラムの内容の違いは、実は自分でも把握してなかったりもする)。いずれにしても「突然」PageRankが取得できなくなったのだ。ただし完全にエラーが返されているわけではなくて、PageRankが0で値が戻ってきているようだ(詳しく調べていないけどそんな感じ)。
理由はわからないけど、プログラム内部のチェックサム値がかわったのか何なのか・・・。
そこでまたまったく別のプログラムを使ってPageRankを取得してみた。するとこちらは大丈夫。うまく取得できた。

プログラムの書き方がそれぞれ違うので、一度詳しく調べてみないといけない。ただしこれ自体、本来APIとして提供されている機能でもないから、今回解決できたとしても、また動かなくなる可能性も大きい。

とりあえず近日中に現在公開しているプログラムは入れ替えるけど・・・。やっぱり公開できないかもしれない。
期待してくれてた人、ごめん。

演算にはmathがよさそう

2007/05/04 | Smarty

テンプレート内で、四則演算して変数に結果を割り当てるのは、カスタム関数{math}がよさそう。

{math equation=”val1 * val2″ val1=5 val2=3 assign=test}

こんな感じで変数$testに演算結果を割り当てられる。括弧とかも使えるらしい。
でもこれ、テンプレート内でevalして処理してるから、負荷がかかるらしい。あとループの中で演算したりするのはなおさらちょっと・・・(マニュアルにもそう書いてある)。

まぁ、それもこれも、相当アクセスがあるサイトの場合で、月間数万ページビュー程度なら、全然たいしたことないような気もする(とはいえ少し気が引ける)。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net