#!/usr/bin/perl
#######################################################
#スクリプト名:ROS カウンター
#作者:ORBIT
#著作権:ORBIT SPACEに帰属します。
#著作権表示は一切行いません。自由にお使いください。
#######################################################
#各種設定
#------------------------------------------------------
#イメージの保存ディレクトリ
$imgs = './img/';
#ログの保存場所
$ip_log = 'ip.log';
$counts_log = 'counts.log';
#------------------------------------------------------
#IPを取得
$ip = $ENV{'REMOTE_ADDR'};
#GETのデータから位を取得
$buf = $ENV{'QUERY_STRING'};
--$buf;
#過去ログの取得
open (OUT,"$counts_log");
$counts_data = <out>;
close(OUT);
open (IP_OUT,"$ip_log");
@ip_data = <ip_OUT>;
close(IP_OUT);
chomp($ip_data[0]);
if($ip eq $ip_data[0]){&img;}
$ip_data[0] = "$ip_data[0]n";
#インクリメントして保存
open (IN,">$counts_log");
if($counts_data eq ""){$counts_data = "00000"};
++$counts_data;
print IN $counts_data;
close(IN);
#IPを記録
open (IP_IN,">$ip_log");
unshift @ip_data, "$ipn";
print IP_IN @ip_data;
close(IP_IN);
&img;
# 画像表示
sub img{
#過去ログを取得し逆順に並べ替える
@list = split(//,$counts_data);
@img_list = reverse (@list);
$nu = $img_list[$buf];
open(IG,"$imgs$nu.gif");
print "Content-type: image/gifnn";
binmode(IG);
binmode(STDOUT);
print <ig>;
close(IG);
exit;
}
0 Comments.