フリーCGIの改変をお手伝いいただけないでしょうか。(著作者許可済)
こんばんは。
タイトル通りなのですが、
http://flash.xtaro.com/sozai/tool/fcount/index.htm で提供されている
アクセスカウンタに重複カウンタ防止機能を追加したいと思っています。
無断改変禁止とありましたので、事前に著作者様へ
改変内容の旨を伝え許可を頂きました。
Webで調べてやってみたのですが、Perlプログラミングの
経験のない私ではすでにあるソースの内容に新たな機能を
実装するのが困難で、皆様のお力をお借りできないかと書き込みました。
ソースは下記に記載します。
何卒よろしくお願い致します。
[ファイル構成]
fcount.dat
fcount.cgi
fcount_d.swf
[fcount.dat]
061617,42,68,2008/5/10
[fcount.cgi]
#!/usr/bin/perl
# カウントデータのパス(ファイル名)
$countdata = './fcount.dat';
#
# このツールの著作は有限会社エムエーディー(FLASHフリー素材UFO)に帰属します。
# 無断改造,再配布,再販は厳禁です。
#
open(file, "+<$countdata") or die("error:ログデータが開けません");
eval{flock(file, 2);};
$count = <file>;
($totalc,$kyou,$kinou,$tday) = split(/,/, $count);
$tim = time;
($sec, $min, $hour, $mday, $mont, $year) = localtime $tim;
$year += 1900;
++$mont;
$day="$year/$mont/$mday\n";
if ($day ne $tday) {
$kinou = $kyou;
$kyou = 0;
$tday = $day;
}
++$totalc;
++$kyou;
seek(file, 0, 0);
print file "$totalc,$kyou,$kinou,$tday\n";
close(file);
#
$totalc = sprintf("%06d", $totalc);
$kyou = sprintf("%05d", $kyou);
$kinou = sprintf("%05d", $kinou);
print "Content-Type: text/plain\n\n";
print "&totalc=$totalc&kyou=$kyou&kinou=$kinou&";
exit;
お礼
方法がわからず 初期化しました。 回答ありがとうございました。