アクセスカウンタの設置方法

 いままで使用させていただいたアクセスカウンタが11月から使えなくなってしまった。このサイトでは、右下のほうに、

あなたは?????人目のお客様です。
ご訪問ありがとうございます。
また、いらして下さいね。


と表示しているそれである。

 どうも、使用していた無料サーバーのドメインが消滅してしまったらしい。なので、せっかくこのサイトを訪問していただいても、そこで、読み込みか゛止まってしまうという弊害が起こっていたようである。

 これに気がついてから、しばらくは、表示なしで運用させてもらったものの、どうも気になってしかたがない。

 そこで、ホームページでのアクセスカウンタの表示方法を調べてみることとした。といっても、なにしろ、プログラミングには不慣れであって、なかなか、これといったものはすぐに見つけることはできなかった。

 ようやく、あるところで、表示のアルゴリズムを説明してあるのを見つけた。

 それを採用したのが、現在のページでの表示となっている。

 簡単に説明すると、まず、次のような counter.php というファイルを準備する。

<?php
# file open as read-write mode
$handle = fopen("counter.txt","r+");
# file lock
flock($handle,LOCK_EX);
# read 1 line of file
$counter = fgets($handle);
# count up
$counter = $counter +1;
# file pointer to head
fseek($handle,0);
# output to file
fwrite($handle,$counter);
# release file lock
flock($handle,LOCK_UN);
# file close
fclose($handle);
echo $counter;
?>


 また、counter.txt というファイルにはカウンタの初期値となる数字を記入しておく。

 本文のhtmlの部分に、
<script type="text/javascript" src="counter.php"><⁄script>
<iframe src="counter.txt" height=25 width=55 frameborder=0 ><⁄iframe>

というような記述を行なう。

 これで、とりあえず、アクセスカウンタを表示することができた。

 しかし、ここで、問題発生である。
 私は、LinuxでブラウザにFirefoxを使用している。これだと、表示はちゃんとできた。携帯電話でも、ひとまず数字の表示はできた。しかし、WindowsのInternet Explorerでは、うまく表示ができていないことがしばらくしてわかったのだ。

 原因は、どうもiframeというコマンドの使い方にあるらしい。使用するブラウザによって、表示されるエリアが異なるようなのである。

 というわけで、ひとまず、今回の記事は終わりとする。いまのところ、うまい解決方法が見つかっていない。

 もしも、良い方法があれば試してみたいとおもっています。ご存じの方のコメントをお待ちしています。

(2011-12-28)




■ 以前の記事

→ 「スクリプト」に関する以前の記事は、こちらをごらん下さい。

 ・C言語の習い始めと「最小自乗法」

 ・ZIPファイル解凍時の文字化けと対処法(Linux)