ファイル名: w/warewan_img.cgi

#!/usr/local/bin/perl

$| =1;
#------------------------------設定-----------------------------------------
#《ランダムまたは、1週間、日替わり画像。背景、バナ−にするか?どう,使う》
#《HTMLファイルの画像タグで使用する時、画像名は、warewan_img.cgi です。》
#《テストするのに1週間かかるのが、困るね。》
#《1分ずつでも、どうにでもなるけど、サーバープッシュ(自動再表示)は、勉強中 》
#《$week = 'on';で、日替わり画像で、offで、ランダム画像です。

$week = 'off';
$Sunday = '1.gif';
$Monday = '2.gif';
$Tuesdays = '3.gif';
$Wednesday = '4.gif';
$Thursday = '5.gif';
$Friday = '6.gif';
$Saturday = '7.gif';

##《ランダム設定 $week = 'off';》
#《画像の数だけの、画像を配列にいれる。'','','',''こんな感じで、幾つでも》
@random = ('1.gif','2.gif','3.gif','4.gif','5.gif','6.gif','7.gif');

#------------------------------設定-終わり----------------------------------
if($week eq 'on'){
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
if($wday eq '1'){$imagefile = "$Monday";}
elsif ($wday eq '2'){$imagefile = "$Tuesdays";}
elsif ($wday eq '3'){$imagefile = "$Wednesday";}
elsif ($wday eq '4'){$imagefile = "$Thursday";}
elsif ($wday eq '5'){$imagefile = "$Friday";}
elsif ($wday eq '6'){$imagefile = "$Saturday";}
else {$imagefile = "$Sunday";}
} else {
#?
$img_kazu = @random;
srand(time ^ ($$ + ($$ <<15)));
#intで、小数点以下切り捨て、整数にする。randで、0〜$img_kazuまで。
#7を指定しても、7は出ないので、$img_kazu-1は、必要無く配列番号に便利
$data = int(rand($img_kazu));

#srand;
#$data = rand(@random);

$imagefile = $random[$data];
}
###-------------------------------------------------------------------------
#-----画像ファイルのサイズを調べる。
$size = (stat $imagefile)[7];

print "Content-type: image/gif\n\n";

if(-e $imagefile){
if (!open(IMG,"$imagefile")) {print"open error\n"; }
binmode IMG;
binmode STDOUT;

##########################################################################
#----whil(read(IMG, $imagedata, $size)){print $imagedata;}は、なぜ?
#----何 繰り返すのか?いっぺんに、たくさんのファイルを読むのか?
#----ナンでやろ?と、思ったが、ただ、真偽の、判定のためでしょう?。
#----だから、違えてみた。
#初期設定エラーがでるので。書かないと−wで、画像がでなくなる。設定は、ナンでもいいのでしょう。HTTPは、あやしいけど。そんなに、こだわる事じゃないけど。
#下は、初期設定エラーは、当然でない。−wでも、画像はOK。無難
#
#while ($imagedata = <IMG>){
# print STDOUT $imagedata;
#}
###########################################################################

$imagedata = '0';
read(IMG, $imagedata, $size);
print $imagedata;
close IMG;
}
__END__