#!/usr/local/bin/perl # # (SSI式) WebACCESS v2.3 用 ログ集計CGI is Free. (c)rescue.ne.jp # #-------------------------------------------------------------------# # ログ記録ファイルパスを設定(このwebaxs.cgiから見た位置で指定) $log = "./log.csv"; # 画像ファイルURLを設定(このwebaxs.cgiから見た位置で指定) $bar = "http://www.xxx.ne.jp/~user/images/bar.gif"; #-------------------------------------------------------------------# open(DB,"$log"); @lines = ; close(DB); $accesses = @lines; foreach $line (@lines) { ($hour,$ref,$rh,$hua) = split(/\,/,$line); if ($hour ne '') { $hours{($hour)[0]}++; $h++; } if ($ref ne '') { $refs{($ref)[0]}++; $i++; } if ($rh ne '') { $rhs{($rh)[0]}++; $j++; } if ($hua ne '') { $huas{($hua)[0]}++; $k++; } } #----------------# print "Content-type: text/html\n\n"; print "アクセス解析 -WebACCESS-\n"; print '' . "\n"; print "

アクセス解析

\n"; print "ログに記録された最新$accessesアクセス分を集計した結果.

\n"; #----------------# print "


\n"; print "

リンク元調査

\n"; print "どこかのページのリンクから訪問した数:全$i件\/$accessesアクセス

\n"; print "\n"; print "\n"; foreach (sort { $refs{$b} <=> $refs{$a} } keys %refs) { $percent_refs = (int(10000 * ($refs{$_} / $i)) / 100); $percent_refs = sprintf("%.1f",$percent_refs); print "\n"; } print "
件数割合リンク元
$refs{$_}$percent_refs\%$_

\n"; #----------------# print "


\n"; print "

ホスト名調査

\n"; print "調査できた訪問者のホスト名:全$j件\/$accessesアクセス

\n"; print "\n"; print "\n"; foreach (sort { $rhs{$b} <=> $rhs{$a} } keys %rhs) { $percent_rhs = (int(10000 * ($rhs{$_} / $j)) / 100); $percent_rhs = sprintf("%.1f",$percent_rhs); $img = int($percent_rhs * 10); print "\n"; } print "
リモートホスト件数割合グラフ
$_$rhs{$_}$percent_rhs\%

\n"; #----------------# print "


\n"; print "

ブラウザ調査

\n"; print "調査できた訪問者のブラウザ名:全$k件\/$accessesアクセス

\n"; print "\n"; print "\n"; foreach (sort { $huas{$b} <=> $huas{$a} } keys %huas) { $percent_huas = (int(10000 * ($huas{$_} / $k)) / 100); $percent_huas = sprintf("%.1f",$percent_huas); $img = int($percent_huas * 10); print "\n"; } print "
ブラウザ名件数割合グラフ
$_$huas{$_}$percent_huas\%

\n"; #----------------# print "


\n"; print "

時間単位のアクセス調査

\n"; print "\n"; print "\n"; foreach (sort keys %hours) { $percent_hours = (int(10000 * ($hours{$_} / $h)) / 100); $img = int($percent_hours * 10); print "\n"; } print "
時間帯件数グラフ
$_$hours{$_}

\n"; print "

\n"; print "


WebACCESS

\n"; print "\n";