七月ももう下旬にさしかかろうとしている。
新都社にでも載せようと頑張って書いてるあれは
最終回の癖になかなかおわらん。ふがぁー。
んでそれをずっとやっているのも暇?だったので
アクセスカウンタでも作ってみることにした。
僕が管理を任されている大学サークルのHPで
試してみたらちょうどいいかなって思ったから。
アクセスカウンタの主な原理は簡単だった。
ファイルから変数を読み込んでそれに1を加えて
書き込むだけ。
んでファイル操作をしているときにまた別のクライアントから
アクセスあったらどうするんとか疑問はあるがそれも簡単に
解決した。
ちなみに言語はperl。詳しい解説はしません。ここなんかよりも
もっと分かりやすい場所あるよ。
そして問題だったのはhtmlでcgiを呼び出すこと。htmlファイルの
中にcgiの出力結果を差し込むにはssiという仕組みを使う必要が
あります。
けど大學サークルのHPはなぜかphpで書かれていたのが悩みの種。
php側でcgiを呼び出すような関数を探さなければいけなくてさぁ大変。
ていうかなんでphpなんだ?前の人の趣味か?
php側では望みの動作を満たす関数が逆に多いほどありまして、
それらの中から一つ選んで使用。systemという関数です。
はたしてこれでうごくかな?
と思ったら動かなかった?なぜに?パーミッションや./htaccessファイルの設定は
間違っていないはず。
いろいろと調べてみたらcgi側でカウンタ数を示す
ファイルが開けていない模様。
なぜ開かないの?と思いよくよく考えていたら、cgiが置いてある場所と
cgiを設置するためのphpが置いてある場所が違うことに気づく。
そのためphpでそのcgiを呼び出すと、cgi内部で指定するパスが
乱れる?ためファイルが開かないことに気づく。それを直したら
無事動作するようになりました。
それからは<img>タグを使ってgif画像でカウンタを表示するように調整。
そのときもperl内部では<や>がオペレーターとして誤解されるという危険もあり
"$moji"と'$moji'の違いの有用性に思い知らされたりしました。
ということで苦労して作ったカウンタですが僕が別に管理しているHPの
どこかにさりげなくつけておくことにしました。あははー
PR
この記事にコメントする
[PR] 忍者ブログ // [PR]