プロが教えるわが家の防犯対策術!

すいません初心者ですが・・・
設置しているCGIと同じディレクトリに「test.txt」というファイルを生成したい場合、
CGIに、

open IN, ">test.txt";
close IN;

と記述しましたが、test.txtが生成されません。
何か問題があるのでしょうか?

最終的には、すでにtest.txtと言うファイルが存在しない場合はなにもせず、
、存在しない場合はtest.txt(読み書き可能のファイル)を自動生成するような仕組みを作りたいのです。
使っているCGIはメールフォームCGIで、回答結果をtest.txtファイルに蓄積していくのですが、
上記のような機能を追加させyたいのです。

A 回答 (2件)

・実行するディレクトリがCGIのあるディレクトリではない


・実行するユーザーに、そのディレクトリやtest.txtへの書き込み権が無い

あたりが有力でしょう。
詳細な方法は検索でもしてください。



細かい点を言えば
・出力ファイルにINってハンドルは混乱のもと
・追記するだけなら '>>' が楽なのでは。通常は無ければ作成してくれますし。
    • good
    • 0
この回答へのお礼

CGIが格納されているフォルダに書込権限を与えましたら機能しました。
初歩的なミスでした。
ありがとうございました。

お礼日時:2011/02/21 12:25

Perlなら


open IN, ">test.txt" or die ?!;
でエラーメッセージを拾えると思いますが。
HTTPサーバーの実行ユーザーにそのディレクトリについての書込み権限がないとか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!