画像ランダム出力CGI

サンプル
このページを更新すると、画像が変わります。
赤い部分のディレクトリ内のいずれかの 画像を表示します。
#!/usr/bin/perl

$imgdir="./rndimg/";

if(!opendir(DIR,$imgdir)){
 print "Content-type: text/html\n\n";
 print "Directory open error.\n";
 exit(1);}
@file=readdir(DIR);
closedir(DIR);

$k=0; 
foreach $fi (@file){
 if($fi =~ /(.*)(\.jpg|\.gif)$/){++$k;}}
srand();$a=int(rand($k));$j=0;
for($i=0;$i<=$a;$j++){
 if($file[$j] =~ /(.*)(\.jpg|\.gif)$/){++$i;}}

open(IMAGE, "$imgdir$file[$j-1]");
binmode(IMAGE);
$size=read(IMAGE,$image, -s IMAGE);
close(IMAGE);
if($f =~ /\.jpg$/){print "Content-type: image/jpeg\n\n";}
 else {print "Content-type: image/gif\n\n";}
binmode(STDOUT);
print $image;
exit;

記述
<IMG SRC="http://〜/cgi-bin/img.cgi">



戻る