方法としては、
Linux系ならcrontabに定期的に更新日時をチェックするためのスクリプトを追加し、定期的に index.html を更新する。
Windows系でも同様な感じで定期的にコマンドを動かすようにする。
あとは、Ajaxとかで更新日時を調べるようなスクリプトを呼んだりもできますね。
Ajax から CGI を呼び出し、CGI からファイルの更新日時を調べて出力する形になります。
若干、面倒な手順になるかもしれませんが、Ajax の良い練習になると思います^^
Ajaxの例題を作ってみました。
prototype.js は適宜ダウンロードしてきてください。
流れとしては、index.html から CGI 呼び出し用の JavaScript ファイル (main.js) を呼び出し、出力したい場所を span や div のタグにより指定する。
CGI ファイル(get_date.cgi)の内容を適宜変更。
Ajaxを利用したことなければ、若干分かりづらいかもしれませんが、参考までに。。
http://www.openspc2.org/JavaScript/Ajax/
index.html:
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="main.js"></script>
を追加。
出力したい場所に
<script type="text/javascript">getDate('daytime')</script>
を追加。
main.js:
// get CGI responces
function get_response_text(req) {
var text = req.responseText;
if(navigator.appVersion.indexOf("KHTML") > -1) {
var esc = escape( text );
if(esc.indexOf("%u") < 0 && esc.indexOf("%") > -1) {
text = decodeURIComponent(esc);
}
}
return text;
}
// get CGI responces
function getDate(id) {
var param = "";
new Ajax.Request("get_date.cgi", {
method: "get", parameters: param,
onComplete: function(req){
$(id).innerHTML = get_response_text(req);
}
});
}
get_date.cgi:
#!/usr/bin/perl -w
use strict;
use CGI;
my $q = new CGI;
print $q->header(-charset=>'utf-8');
my @file = <*>;
if($#file < 0){ print "[no file and directories.]\n"; }
foreach my $fname (@file){
if(-d $fname){
my $lastmodified = localtime((stat $fname)[9]);
print "$fname (Last Update: $lastmodified)
\n";}
}
exit(0);
ありがとうございます。調べてみます