本日  昨日
 
03/16(Sun) 02:01

今日の訪問者、昨日の訪問者
解説
  1. Web裏技さんのアクセス解析 webaxs.pl(改) で記録されたログデータ log.csvを使い、今日・昨日の訪問者の全データを表示します。

  2. また、フォーム入力による指定日(〇〇日前)の訪問者の全データも表示できます。

  3. 表示内容は、個々の訪問者について
    No. カウンタ数 訪問時刻(時:分) 再訪問回数 ホスト名 リンク元 利用ブラウザ です。

下のスクリプトをマウスでドラッグし「コピー」「貼りつけ」でコピーできます。
#!/usr/bin/perl #↑perlの存在するpathに書き換えてください。 #-------------------------------------------------------------------# # 今日の訪問者 # tdylog.cgi by http://kikuchisan.net/ # using modified log.csv of webaxs.pl #-------------------------------------------------------------------# print "Content-type: text/html\n\n"; #書き換えるところ $log = "./log.csv"; #ログファイルのパス指定 #書き変えるところ(ここまで) #環境変数取得 $buffer = $ENV{'QUERY_STRING'}; @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $FORM{$name} = $value; } # ヘッダー部出力--------------------------------- print "<html><head><title>今日の訪問者</title></head>\n"; print "<body bgcolor=\"#FFE4C4\">\n"; print "<table border=0><tr><td>\n"; print "<table border=3 bgcolor=blue><tr><th><H2><font color=yellow> 今日の訪問者</font></th></tr></table>\n"; # -------入力フォームの作成 print "<td><form method=\"GET\" action=\"tdylog.cgi\">"; print "過去の訪問者。<input size=2 type=\"text\" name=\"date\">日前を"; print "<input type=\"submit\" value=\"見る\"><input type=\"reset\" value=\"やめる\">"; print "</form></th></tr></table><p>\n"; #フォーム入力の有無をチェック # 無い場合--今日,前日の処理 # 有る場合--過去の指定日の処理 if ($FORM{'date'} eq '') { # 時刻取得 ($sec,$min,$hour,$mday,$mon,$year,$wday,$suu) = gmtime(time + 9*3600); for($i = 0; $i < 2; $i++) { # 月数変換 $mon++; # 数が1桁の場合は頭に0を付ける if ($mon < 10) { $mon = "0$mon"; } if ($mday < 10) { $mday = "0$mday"; } if ($min < 10) { $min = "0$min"; } if ($hour < 10) { $hour = "0$hour"; } # 曜日処理 @week = ('日','月','火','水','木','金','土'); $wday = $week[$wday]; # テーブル部出力--------------------------------- print "<table border=1 bgcolor=white><tr><td><font color=blue size=3> <b>$year年$mon月$mday日($wday)</b></font>\n"; if ($i < 1) {print "(午前0時より$hour時$min分まで)\n";} print "</td></tr></table><br>\n"; # テーブル表示 &vew; #前日データセット ($sec,$min,$hour,$mday,$mon,$year,$wday,$suu) = gmtime(time + 9*3600 - 60*60*24); } print "</body></html>\n"; } else { # 過去の指定日処理 $oldday=$FORM{'date'}*60*60*24; ($sec,$min,$hour,$mday,$mon,$year,$wday,$suu) = gmtime(time + 9*3600-$oldday); # 月数変換 $mon++; # 数が1桁の場合は頭に0を付ける if ($mon < 10) { $mon = "0$mon"; } if ($mday < 10) { $mday = "0$mday"; } if ($min < 10) { $min = "0$min"; } if ($hour < 10) { $hour = "0$hour"; } # 曜日処理 @week = ('日','月','火','水','木','金','土'); $wday = $week[$wday]; # テーブル部出力--------------------------------- print "<table border=1 bgcolor=white><tr><td><font color=blue size=3> <b>$year年$mon月$mday日($wday)</b></font></td></tr></table><br>\n"; # テーブル表示 &vew; print "</body></html>\n"; } exit; # テーブル表示 sub vew { print "<table border bgcolor=white bordercolor=blue>\n"; print "<tr bgcolor=\"#66CC99\"><th>NO</th><th>AC</th><th>時刻</th><th>回</th>"; print "<th>ホスト名</th><th>リンク元</th><th>利用ブラウザ名</th></tr>\n"; $tdy = "$year\/$mon\/$mday"; $no = 1; open(LOG,"$log")||die"$log :$!"; while (<LOG>) { chop($_); ($time,$ref,$rh,$hua,$ttdy,$tmin,$count,$vcount) = split(/,/,"$_"); if ($ttdy eq $tdy){ print "<tr><td bgcolor=\"#E0FFE0\" align=right>$no</td>"; print "<td align=right>$count</td><td align=right>$time:$tmin</td>"; print "<td align=right>$vcount</td><td nowrap>$rh</td>"; if ($ref =~/http:/) {($ref2,$dummy) = split(/=/,"$ref"); print "<td nowrap><a href=\"$ref\" target=\"_blank\">$ref2</a></td>";} elsif ($ref ne ''){ print "<td nowrap>$ref</td>";} else{ print "<td nowrap>\(URL_designated\)</td>";} print "<td nowrap>$hua</td></tr>\n"; $no = $no + 1; } } close(LOG); print "</table><br>\n"; }


 
 
©1997- Kikuchisan's workshop All rights reserved //

スポンサーリンク

関連コンテンツ