画像ランダム出力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">
戻る