トップページ⇒hp
9コメント3KB

リアルタイムカウンター。

■ このスレッドは過去ログ倉庫に格納されています
0001はるちゃんNGNG
ページをどれだけの人が見ているかをリアルタイムで表示してくれるカウンター
レンタルとかスクリプトでもいいので教えてください。
0002ドキュン野郎NGNG
ほれ。
http://www.power.co.jp/tm/yuiyui/chat/imgcheck.cgi.txt
0003はるちゃん2NGNG
>2
ご親切にどうもです。
しかしわたしの求めているのは「カウンター」です。
ページから離れるとカウンターが減るやつ。
別にIPを抜きたいわけじゃないのです。
0004名無しさんNGNG
とりあえず考えてみた。metaなどで自動リロードするフレームが必要。

#!/usr/local/bin/perl
open(DAT@`"count.txt"); @dat=<DAT>; close(DAT);
$new=1; $host=$ENV{'REMOTE_HOST'}; $time=time;
foreach $dat(@dat){
($ip@`$pretime) = split(/\t/@`$dat);
chop($pretime);
$dat = "" if($time - (metaタグでリロードする時間+1) > $pretime);
if ($ip eq $host){$line="$host\t$time\n"; $new=0; last;} next;}
if($new){push(@dat@`"$host\t$time\n");
open(DAT@`"+< $counter.txt"); eval 'flock(DAT@`2);'; eval 'truncate(DAT@`0);';
seek(DAT@`0@`0); print DAT @dat; close(DAT);

これで現在見てる人がcounter.txtに入るんで、カウンタのCGIでcounter.txtの行数を数えてその人数を出せばいいはず。
どっか間違えてるかも。その場合、適当に直して。
でも、このスクリプトだと、たくさんの人が訪れるページはかなり負荷かかるよねぇ。やっぱだめか?
0005あきあかねNGNG
あれ?名前入れ忘れた。
しかも、いつものくせで$line・・・8行目、$datの間違いね。
0006はるちゃん3 NGNG
>metaなどで自動リロードするフレームが必要。
無しでなんとか…。
そういう物自体ないのかな??
JAVA駆使でなんとかなる??
TRYしてみまっす。
0007>6NGNG
exit時にCGIを呼び出してカウント数をデクリメントさせるような
JavaScriptなら出来るような気がするが……。
0008名無しちんNGNG
>>metaなどで自動リロードするフレームが必要。
>無しでなんとか…。
JavaかJavaScriptでやる必要があるでしょね。でも、ブラウザの
設定でJavaオフ or JavaScriptオフにされるとカウントできんにゃ。

まぁ、この際JavaScriptオフだと読めない事にしちゃえばいいのか。
0009名無しちんNGNG
JavaScriptでやるとこんな感じかな? 別のページに飛んだときに
カウンタを1減らすcgiを呼び出しております。今適当に書いたから、
待ちがっとったらごめん。
---
<html>
<head><title></title>
<script language="JavaScript">
&lt;!--
function DecCount() {
var hoge;
hoge=window.open("(カウンタを1減らすcgiのURL)"@` ""@` "Width=0@` Height=0");
hoge.window.close();
}
//--&gt;
</script>
</head>

<body onUnload="DecCount()">
unko
</body>
</html>
■ このスレッドは過去ログ倉庫に格納されています