学級日誌番外 (ホームページ作成ノウハウ集)
>>> 学級日誌番外トップ
19.CGIでファイルの最終更新日を取得するには (2012年9月1日)
- ◎環境
- ・独自 CGI が利用可能なこと
- ◎解説
- Webサーバーに設置しているファイルの最終更新日を知りたいことがある。「マサのWeb玉手箱」では、掲示板データファイルの更新日を取得することにより、最終書き込みが行われた日付の表示を実現している。CGIでのポイントは2つあり、1つは stat関数によるファイルの最終更新時刻取得、そしてもう1つは localtime関数によるローカル時間への変換。これらにより求められた日時を、JavaScriptの文字列を表示する関数としてファイルに書き出している。HTML側では、表示したい場所に先ほどのJavaScript関数を配置する。
| (1)CGI を用いて最終更新日表示用 JavaScript を生成する | |
# JavaScript書き込みファイルを指定
# (HTMLのヘッダーで読み込むファイル)
$datafile = "getdate.js";
# 最終更新日を取得するファイルのパスを指定
$file = "bbs.dat";
# stat関数の9番目の要素で最終更新時刻取得
$modtime = (stat($file))[9];
# localtime関数で読みやすい表記に変更
($sec, $min, $hour, $mday, $mon, $year) = localtime($modtime);
# 年と月を補正
$year = $year + 1900;
$mon = $mon + 1;
# データ書き込み
open(DATA, ">$datafile") || die "データファイルが開けませんでした。";
print DATA << "EOF";
function printgetdate(){
document.write("$year/$mon/$mday $hour:$min");
}
EOF
close(DATA);
|
|
| (2)ページの表示したい部分に JavaScript関数を埋め込む | |
<a href="bbs.html">掲示板</a>
<script type="text/javascript">
printgetdate();
</script>更新
|
![]() |
| 完成画面 | |
Webデザインの世界は技術の進歩が早く、取り残されないように勉強がかかせません。ネットで最新情報を検索するのも良いですが、自分のペースでじっくり学ぶには昔ながらの書籍もお勧めです。
