CGI-BBS > CGI > Perl > テキストファイルを上書きモードでオープンできない。


カレッヂ
カレッヂ


質問者 Yasusan  投稿日 2005/8/11(木) 22:52:45
CGI初心者です。小生の環境は、WinXP-Pro、Microsoft-IIS/5.1、ActivePerl V.623です。

以下のスクリプトでテスト中ですが、テキストファイルの上書きモードでオープンを試みるとエラー(Permission denied)
になります。ファイルのプロパティをみても読み取り専用には、なっていません。
但し、フォルダの読み取り専用チェックが四角く緑色になっています(この解除はできません)。しかも、同じフォルダにJPGファイルは、上書きオープン可となります。

上書きモードでのオープンは、どのようにしたら可能になるかご教示ください。


よろしく、お願いします。

スクリプト===========================
#!/user/local/bin/perl

$os ="WinXP";
$sr ="Microsoft-IIS/5.1";
$vr ="ActivePerl V.623";

# レスポンスヘッダの出力
print "Content-type: text/html", "\n\n";
print "<HTML>\n";
print "<BODY>\n";

print "<BR><BIG>ファイルオープンテスト!</BIG>=$os/$sr/$vr<BR><BR>\n";

	&open_test;

print "</BODY>\n";
print "</HTML>\n";

#============================================================
sub open_test{

 $txt_file="./tbl_Na-00.txt";
 $img_file="./p00189.jpg";

if (!open(TBL,"$txt_file")) { print "txt読込みモード=OPEN失敗/エラー=$!<BR>\n";}
else {print "txt読込みモード=OPEN成功<BR>\n";}
close(TBL);

if (!open(TBL,"> $txt_file")) { print "txt上書きモード=OPEN失敗エラー=$!<BR>\n";}
else {print "txt上書きモード=OPEN成功<BR>\n";}
close(TBL);

if (!open(TBL,"> imgt_file")) { print "img上書きモード=OPEN失敗エラー=$!<BR>\n";}
else {print "img上書きモード=OPEN成功<BR>\n";}
close(TBL);
}

実行結果===========================
ファイルオープンテスト!=WinXP/Microsoft-IIS/5.1/ActivePerl V.623

txt読込みモード=OPEN成功
txt上書きモード=OPEN失敗エラー=Permission denied
img上書きモード=OPEN成功


【習熟度】多少の改造ができる

回答者 sim  [削除]  投稿日 2005/8/12(金) 11:19:07
ファイルに書き込み権限が付いてて書けないのでしょうか?

IISってほとんど使ったこと無いのですが、textファイルをWINDOWS上で作成するのではなく、
Perlで作成してやれば良いのではないでしょうか。
質問者 Yasusan  [削除]  投稿日 2005/8/12(金) 19:27:25
全く同じスクリプトを win98 + anhttpd の環境にある別のパソコンで動かすと全く問題なく全てのファイルオープンが成功します。
ところが、winXP-Pro の下では、IIS でも anhttpdでも同じく、上書きモードでファイルがオープンできないのです。

ところで、text-Fileをperlで作成するとは、どのようにしたらよいのでしょうか?
初心者なので申し訳ありませんがご教示いただければ幸いです。
回答者 sim  [削除]  投稿日 2005/8/12(金) 19:33:58
>if (!open(TBL,"> $txt_file")) { print "txt上書きモード=OPEN失敗エラー=$!<BR>\n";}
>else {print "txt上書きモード=OPEN成功<BR>\n";}
>close(TBL);

この部分がそれに該当します。
$txt_fileを一度削除してから動かしてみてはいかがでしょうか?
質問者 Yasusan  [削除]  投稿日 2005/8/12(金) 23:17:40
sim 様色々とご教示ありがとうございます。

ご指摘のようにすると問題なくファイルが開けました。

どうもありがとうございました。


ところで、今回の悩みの根本は、以下の点です。
今まで、問題なかったものが、winXP-Proに変えたとたんにこうなってしまったということです。
この解明のため少しでも可能性があれば、色々とトライしてみますので、
よろしくご教示ください。お願いします。

返信(回答)する

 


Web裏技