#!/usr/bin/perl
# ↑使用可能なperlのディレクトリ
#
# 最新画像ではなく最新より一つ古い画像から表示して、デッドロックを回避するスクリプト
# ファイルモードは 755
# Ver 2001/11/11 by おおさむ (原形)
# Ver 2001/11/14 by muse (大幅改竄)
#
$dir = '../live'; # このCGIファイルのあるディレクトリから見た画像ファイルの相対パス
$base='http://www.clavis.ne.jp/~listcam/live/'; # 表示対象の画像ファイルが置いてあるディレクトリのURL
$home='http://www.clavis.ne.jp/~listcam/index_j.ssi'; # 戻り先にするWebページのURL
$matsubi='ListCam Surveillance observation'; # 表示されたページの末尾(フッタ)に表示する文字列(なくても可)
$reload='3600'; # リロード(再読込)する間隔(秒数)デフォルト(無指定の場合)は、120秒
# 添え数字の前に有るファイル名ヘッダー文字列(添え数字は最大16桁) 例:pentax999.jpg
# 使える画像ファイル名は「文字列」+「インクリメント数字」+「.jpg」
$head_prefix='pentax';
#
#
opendir(DIR, "$dir"); # ディレクトリーファイルを開く
while ($filename = readdir DIR) { # ディレクトリーファイルを最後まで読む
if($filename=~/^$head_prefix[0-9]{1,16}\.jpg$/){ # ファイル名から指定パターンに該当するファイルを選別
@stat = stat $dir.'/'.$filename; # ファイルの諸元を読む
$mtime = localtime($stat[9]); # 諸元の中からタイムスタンプを読む
push(@fnames,$mtime.$filename); # 配列にタイムスタンプ+ファイル名で収納する
}
}
closedir(DIR); # ディレクトリーファイルを閉じる
@fnames = sort {$b cmp $a} @fnames; # 配列をソートする
$cnt=@fnames+0; # 配列の構成要素数
foreach $fname (@fnames){ # 配列の要素を全て処理する
$fname=substr $fname,(index $fname, $head_prefix); # 指定パターンの開始位置からファイル名だけを切り出し再び配列へ収納
}
unless($reload){$reload=120;} # リロード変数のデフォルト処理
$reload2=$reload+1;
&saishin;
#
#
#
sub saishin{
print "Content-type: text/html\n\n";
print <<EOF;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD>
<BASE HREF="$base">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS">
<META http-equiv="refresh" content="$reload">
<TITLE>Image History</TITLE>
</HEAD>
<BODY TOPMARGIN="0" leftmargin=1 TEXT="#808080" BGCOLOR="#ffffff" link="#000080" vlink="#000080">
<CENTER>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="2" WIDTH="540" ALIGN="center">
<TR>
<TD colspan="2" align="center">
<H3>Image History</H3>
</TD>
</TR><TR>
<TD colspan="2" align="center">
The latest file name is "$fnames[0]".<br>
It may be during a renewal. <br>
Display comes from a runner-up file. <br>
</TD>
</TR><TR align="center">
<TD>Latest <br><IMG SRC="$fnames[1]" ALT="$fnames[1]" WIDTH="240" HEIGHT="180"></TD>
<TD>"$fnames[2]"<br><IMG SRC="$fnames[2]" ALT="$fnames[2]" WIDTH="240" HEIGHT="180"></TD>
</TR><TR align="center">
<TD>"$fnames[3]"<br><IMG SRC="$fnames[3]" ALT="$fnames[3]" WIDTH="240" HEIGHT="180"></TD>
<TD>"$fnames[4]"<br><IMG SRC="$fnames[4]" ALT="$fnames[4]" WIDTH="240" HEIGHT="180"></TD>
</TR><TR align="center">
<TD>"$fnames[5]"<br><IMG SRC="$fnames[5]" ALT="$fnames[5]" WIDTH="240" HEIGHT="180"></TD>
<TD>"$fnames[6]"<br><IMG SRC="$fnames[6]" ALT="$fnames[6]" WIDTH="240" HEIGHT="180"></TD>
</TR><TR align="center">
<TD>"$fnames[7]"<br><IMG SRC="$fnames[7]" ALT="$fnames[7]" WIDTH="240" HEIGHT="180"></TD>
<TD>"$fnames[8]"<br><IMG SRC="$fnames[8]" ALT="$fnames[8]" WIDTH="240" HEIGHT="180"></TD>
</TR>
<TR>
<TD colspan="2" align="center">
Image file number=$cnt<br>
<hr size="1">
<a href="$home">HOME</a><br>
$matsubi
</TD>
</TR>
</TABLE>
</CENTER>
</BODY></HTML>
EOF
}
__END__
|