#!/usr/local/bin/perl # ↑ # ここをプロバイダの指示通りに書き換えます。 # #!の前に空白があってはいけません。 #=============================================================================== # 最終更新日自動表示スクリプト # じょじょラスト ver.1.02 Copyright(c) 1997-2008 JoJo's Web Lab. # # File: last.cgi # URL: http://www.starwars.jp/web/ Email: webmaster@starwars.jp # # このソフトはフリーソフトです。 # 改造・商用利用は自由ですが、再配布は禁止します。 # 利用の際の損害については一切保証いたしません。 #=============================================================================== # # << 設置法 >> # # このファイル(last.cgi)はアスキー(テキスト)で転送し、 # パーミッション 755 に設定します。 # # (1) JavaScriptで埋め込む # # # # (2) SSIで埋め込む # # # #=============================================================================== # メイン・ルーチン #=============================================================================== $Last = 100000; # 最終更新日からの日数 $JS = $ENV{'QUERY_STRING'}; # 最終更新日の取得 getLastUpdate("."); ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time-$Last*24*60*60); $last_str = sprintf("%04d/%02d/%02d", $year+1900, $mon+1, $mday); # ↑↑↑ # 表示の仕方を変えたい場合、ここを書き換えます(初期状態は 2000/01/10 形式)。 # # 2000/1/10 形式 # $last_str = sprintf("%04d/%d/%d", $year+1900, $mon+1, $mday); # # 2000年01月10日 形式 # $last_str = sprintf("%04d年%02d月%02d日", $year+1900, $mon+1, $mday); # # 2000年1月10日 形式 # $last_str = sprintf("%04d年%d月%d日", $year+1900, $mon+1, $mday); # # if ($JS) { # JavaScriptの場合 print "Content-Type: text/javascript\n\n"; print "document.write('$last_str');"; } else { # SSIの場合 print "Content-Type: text/html\n\n"; print "$last_str"; } exit; #=============================================================================== # 最終更新日の取得 #=============================================================================== sub getLastUpdate { my ($name) = @_; my $tmp = 0; my @files = (); opendir(DIR, $name); @files = readdir(DIR); foreach (@files) { next if ($_ eq ".." || $_ eq "."); next if ($_ eq "log" || $_ eq "image" || $_ eq "data"); # ↑↑↑↑ ↑↑↑↑ # 対象外にしたいディレクトリが有る場合 # ここに追記してください。 if (-d "$name/$_") { getLastUpdate("$name/$_"); next; } $flag = 0; $flag = 1 if (index($_, ".html") >= 0); $flag = 1 if (index($_, ".htm") >= 0); $flag = 1 if (index($_, ".log") >= 0); # ↑ ここに対象ファイルの拡張子を増やしてください。 if ($flag) { $tmp = (-M "$name/$_"); $Last = $tmp if ($tmp <= $Last); } } } __END__ # end_of_file