蓄々GetModifiedTime
特徴
- 複数のファイルを比較し、更新日が最新のファイルの更新日時・時刻を取得し、SSIなどでHTMLに出力挿入できます。
- 出力形式は自由にカスタマイズできます。
- 英語表記(Apr, May... Sun, Mon...)にも対応しており、RFC2822などの形式で出力する事が出来ます。
- 複数の出力形式を設定できるので、1つのページにWWWC用のMETAタグと更新日を知らせるためのテキストを挿入したりする事が出来ます。
- Shift_JIS、EUC_JP、JISでの出力に対応しています。
利用条件
- スクリプト利用規定をご覧下さい。
ダウンロード
- rev1.00 getmtime_rev100.zip
更新履歴
- 2002-01-02 rev1.00 公開。
スクリプトの修正
getmtime.cgi
#!/usr/bin/perl
conf.cgi
# 蓄々GetModifiedTime 設定ファイル
# このファイルの文字コードはshift_jisで保存して下さい。
#
#____設定ここから
# 出力する文字コード ( sjis , euc , jis )
# 埋め込み先のHTMLの文字コードと同じにしてください
$CONF{'charset'} = 'sjis';
# テンプレート
# {YEAR} ... 4桁年
# {year} ... 2桁年
# {MON} ... 英語月
# {mon} ... 月
# {mday} ... 日
# {WDAY} ... 英語7曜日
# {wday} ... 日本語7曜日
# {hour} ... 時
# {min} ... 分
# {sec} ... 秒
#
# テンプレート1
$CONF{'template1'} = <<"EOM";
最終更新日 {YEAR}年{mon}月{mday}日 {wday}曜日 {hour}時{min}分(GMT+09:00)
EOM
# テンプレート2
$CONF{'template2'} = <<"EOM";
<!--RFC2822-->{WDAY}, {mday} {MON} {YEAR} {hour}:{min}:{sec} +0900
EOM
# テンプレート3
$CONF{'template3'} = <<"EOM";
<!--W4C-DTF-->{YEAR}-{mon}-{mday}T{hour}:{min}:{sec}+09:00
EOM
# テンプレート4
$CONF{'template4'} = <<"EOM";
<!--WWWC META--><meta name="WWWC" content="{YEAR}/{mon}/{mday} {hour}:{min}">
EOM
# テンプレート5~9
...
# サーバーとの時差(単位:秒)
$CONF{'timediff'} = 0;
#____設定ここまで
重要な設定項目
- #!/usr/bin/perl
- プロバイダで定められたPerlへのパスを指定します。よくある例としては #!/usr/local/bin/perl もしくは #!/usr/bin/perl です。
- $conf{'charset'} = 'sjis';
- 埋め込み先のHTMLの文字コードと同じにしてください。異なる場合は、文字化けしてしまいます。
- $conf{'template*'}
- 更新日時を出力するテンプレートです。1~9まで設定できます。
- $conf{'timdiff'} = 0;
- サーバーの時刻が出力したい日時とずれている場合に設定します。例えば、サーバーの時刻がアメリカで、出力したい時刻が日本の場合は62400です。
ディレクトリ構成例
public_html / | +-- getmtime / getmtime.cgi [755] メインプログラム / conf.cgi [644] 設定ファイル / jcode.pl [644] 文字コード変換ライブラリ
使い方
- HTMLに記述するタグの文法
- <!--#include virtual="パス/getmtime.cgi?no=テンプレート番号&see=このcgiからのパス*このcgiからのパス*etc..." -->
- 記述例
- <!--#include virtual="/cgi-bin/ccgetmtime/getmtime.cgi?no=1&see=../../htdocs/index.html" -->
<!--#include virtual="/cgi-bin/ccgetmtime/getmtime.cgi?no=1&see=../../htdocs/index.html*../../htdocs/update.html" -->
不具合報告や要望などは
メールフォームからご連絡ください。