No.1ベストアンサー
- 回答日時:
わたしは、logファイルを
2009-Feb-04 22:06:49 (Thu)
total : 12896
2006 : 5893
200606 : 26
2006154 : 10
20060604 : 10
という感じで保存させてます。ログファイルは何種類かあって、それらを呼び出ししたときに指定される。
こうしておけば、CGI側で任意のカウントデータを利用できますよ。
Lacoocan用アクセスカウンター(LaCounter.cgi):マニュアル ( http://iruka.la.coocan.jp/cgi/counter/LaCounter. … )
この回答への補足
お返事ありがとうございます★
カウンタの中身を0にする っと言った関数?は何を使えば宜しいのでしょうか?(>_<)無知ですみません!宜しければ教えてくださいm(_ _)m
以下ソースです。
#!/usr/bin/perl
# ログファイル
$logfile = 'count.txt';
$tm = time;
($mday) = (localtime($tm))[3];
#アクセス数を読み込む
open(IN, "$logfile");
$total = <IN>;
$day = <IN>;
close(IN);
# トータルに1足す
chop $total;
$total++;
($dcount,$fmday) = split(/<>/,$day);
if($fmday != $mday) {
$dcount = 1;# 日付が変わっていればカウントを1にする
} else {
$dcount++;
}
$day = "$dcount<>$mday";
open (OUT,">$logfile");
print OUT $total,"\n",$day;
close(OUT);
print <<EOL;
print "Content-type: text/html"
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
</head><body>
今日のカウント数は、$dcountです。<br>
これまでのトータル、は$totalです。<br>
</body>
</html>
EOL
No.3
- 回答日時:
>今の状況は日付を過ぎても次のアクセスがない限りcount.txt(ログファイル)の中身にはアクセス数値が残ったままなので日付が変わったら自動でcount.txtの中身を0(ゼロ)にしたいのです。
これは、アクセスしなくても0に戻すと言う意味です。
これをするには、CGIでやるよりもサーバで常駐タスクを設定し、日付が変わるごとに0に戻すと言うやり方がよいと思います。
ただ、見ている人がいない場合0でもそうじゃなくても特に意味はないので、日付が変わって最初にアクセスしたときに0にすればいいと思いますが。
記録ファイルが count.txtのみならば、カウントアップするときにカウントアップする日付を一緒に記録し、日付が違う場合に0に戻せばいいと思います。
表題をクリアできればいいだけならば、一般的な日毎のカウントをするカウンタを設置して、全体数を表示しないで、本日のカウントのみを表示すればいいと思います。
この回答への補足
ご連絡遅くなりましたm(_ _)mすいません。
回答ありがとうございます。
実は今、URL毎(AのURL・BのURL...)にクリックされたらアクセスカウンターを記録していて、そのURLのアクセス順にランキングも付けているのです。
それを例えば、1週間経ったら自動ですべてのURLのアクセスカウンターを0に戻したいとの事なのですが、上記の方法でも可能でしょうか?
宜しくお願い致します。
No.2
- 回答日時:
ログファイルをどのような形式で保存しているかを把握しないとログファイルの読み込みやカウントやリセットは出来ないです。
ざっと見たところ
・・・【中略】・・・
open(IN, "$logfile");
$total = <IN>; #-----------
$day = <IN>; #----------- 同じものを入れている?
close(IN);
・・・【中略】・・・
chop $total; #----------- \d+ この後、出てこない?
$total++;
・・・【中略】・・・
($dcount,$fmday) = split(/<>/,$day); #----------- \d+<>\d{1}?
if($fmday != $mday) {
・・・【中略】・・・
$day = "$dcount<>$mday"; #----------- \d+<>\d{1}?
・・・【中略】・・・
open (OUT,">$logfile");
print OUT $total,"\n",$day;
close(OUT);
と、まったく不統一ですよ。
while(<IN>{ #標準入力を順番に処理
chonp;
if( /\d+<>\d{1}/ ){ $day=$_;}
elsif(/^\d+$/){ $total=$_;}
}
とかの、場合わけが必要になる。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) Sheet1の出荷日と品名が並んだ表からSheet2の品名別出荷日別の個数一覧表を作っています。 オ 3 2022/12/01 23:54
- その他(SNS・コミュニケーションサービス) 【至急】Microsoft teamsログインできないループ・・ 3 2023/05/17 13:17
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Excel(エクセル) Excelの関数で可能でしょうか、日付や式の値の自動更新 4 2023/05/19 17:17
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- デート・キス 片思い 女性側どう思ってる? 1 2022/08/19 11:15
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HPで「あなたは何人目です」...
-
アクセスカウンターの作り方
-
シェルのSTEP数について教えて...
-
クリック数を1日ごとにカウン...
-
自動人数カウンターってありま...
-
cgiカウンターが動かないとき
-
カウンターの修正
-
掲示板に画鋲、ホッチキス以外...
-
PowerShellでのエラー出力の読...
-
ネットで買った洗濯機は誰が設...
-
お寺の門前に設置してある掲示...
-
一番簡単なCGI,掲示板の設置教...
-
Basic認証でパスワードを保存さ...
-
パソコン用語「ツリー」って、...
-
サーバーからクライアントのMAC...
-
Wi-Fiルーターの交換設置につい...
-
携帯のアンテナ基地の設置料の...
-
CGIを利用せずにウェブサイ...
-
自宅設置のWEBサーバーからメー...
-
jQueryを使ってドラムロールを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自動人数カウンターってありま...
-
シェルのSTEP数について教えて...
-
HPで「あなたは何人目です」...
-
クリック数を1日ごとにカウン...
-
アクセスカウンターの作り方
-
アクセスカウンターを他のファ...
-
分周回路について
-
カレンダーを3ヶ月先まで表示...
-
アクセスカウンターとキリ番
-
カウンタの数字が減る??
-
カウントを1日毎に0にする方法...
-
JAVAアプレットでホームページ...
-
初心者の私に教えてください!
-
カウンターが重い
-
カウンターが回らない
-
アクセスカウンタ、途中からカ...
-
杜甫々さんのgifcat.plをカンマ...
-
非同期カウンタの設計
-
HP作成、アクセスカウンターに...
-
ホームページのカウントについて
おすすめ情報