#!/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.