CGI-BBS > CGI > Perl > Perlの設置で.datファイルを自動作製できない。


カレッヂ
カレッヂ


質問者 ももんが  投稿日 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

回答者 まさ  [削除]  投稿日 2003/12/11(木) 17:52:07
>>

を

+>>

に代えてみて下さい。

質問者 ももんが  [削除]  投稿日 2003/12/12(金) 09:45:33
レスポンスありがとうございます!感謝いたします。

ご説明の通り +>> に変更しましたが。
状況は変わらないようです。エラ−も何も出ません。

サーバーについての知識はありませんが、
自動作製を止めるような仕様になっているのでしょうか・・・
質問者 ももんが  [削除]  投稿日 2003/12/13(土) 15:38:13
いろいろ試してみたのですが。
下位ディレクトリを属性777で作製し。
そこに自動作製するように指定すると作製できました。

返信(回答)する

 


Web裏技