きょし
[E-Mail]
2000/04/04(火) 15:16:05
Perl(win32)を使用して、次のようなCGIを作成しました。
(test01.cgi)----------------------------------------------
print "Content-Type: text/html\n\n\n";
print"<HTML>\n";
・
・
・
$FileName = "./../../../Test/Test.dat";
print"<FORM ACTION=\"./test02.cgi?$FileName\" METHOD=POST>\n";
・
・
・
print"</HTML>\n";
---------------------------------------------------------
上のような方法でHTMLファイルを出力しています。
IEではこのHTML出力は正常に行われるのですが、
NetScapeでは
--------------------------
Error 404
見つかりません。 CGIスクリプトまたは
プログラムがありません : ~\Test\testdata.dat
--------------------------
と表示されてしまいます。
どうもブラウザのジャンプ先として
"./test02.cgi?$./../../../Test/Test.dat\"
ではなく
"./Test/Test.dat\"
を認識しているようです。
$FileName = "./../../../Test/Test.dat";
の部分を
$FileName = "../Test/Test.dat;
と変更すると、NetScapeでも正常に出力できたので、
この$FileNameの文字列に問題があるようです。
$FileName = "./../../../Test/Test.dat"; →エラー
$FileName = "../Test/Test.dat"; →正常
この2つの違いは何なのでしょう。
初歩的な質問かもしれませんが、
ご存知の方、よろしくお願い致します。
DM
[E-Mail]
2000/04/05(水) 00:22:24
NetScapeでは フォームで action=filename?get_string を
サポートしていないためと思われます。
method=postで指定してあるので
<FORM ACTION=\"./test02.cgi?$FileName\" METHOD=POST>
という記述でなく
<FORM ACTION=\"./test02.cgi\" METHOD=POST>
<INPUT TYPE=HIDDEN NAME=\"FileName\" VALUE=\"$FileName\">
などとするのが妥当と思われますがどうでしょうか?