質問者 ももんが
投稿日 2003/12/11(木) 03:47:28
先にプログラムを載せておきます。
ファイル名index.shtml
<html>
<head><title>ログテスト</title></head>
<body>
ログテスト
<!--#exec cgi="log.cgi"-->
</body>
</html>
ファイル名 log.cgi
#! /usr/local/bin/perl
# 日時の取得
$tm = time;
($sec, $min, $hour, $mday, $mon, $year) = localtime $tm;
$year += 1900;
++$mon;
# アクセス情報の整形
$ln = "$hour\t$min\t$ENV{'REMOTE_HOST'}\t"
. "$ENV{'HTTP_REFERER'}\t$ENV{'HTTP_USER_AGENT'}\n";
# ログファイルへの書き込み
open(FILE, ">>logmemory.dat") or die("ERROR: open log-file.");
eval{ flock(FILE, 2) };
seek(FILE, 0, 2);
print FILE $ln;
close FILE;
上記のようなSSIを使ってアクセスログを記録したいと考えています。
追加書き込みの >> を使った場合、該当ファイルがなければ自動作製してくれると本で調べたのですが。
先に記録用ファイルlogmemory.datを同フォルダ内に作製しているときはそこに問題なく記録されるのですが。
そうしなかったときは自動作製されませんでした。
この設置がうまく行けば日時ごとに別のファイルを自動作製して記録させるようにしたと考えていますので。
解決法をお気づきの方があれば、ご教授願いたいと思います。よろしくお願いします。
プロバイダ参照:http://hccweb.bai.ne.jp/support/index.html
サーバのOS:不明
パソコンのOS:Win95系
エディタ:メモ帳
FTPソフト:FFFTP
サーバ移転:していない
改造:していない 改造前不動
CGI習熟度:firsttime
|