C言語でCGIを作るに当たり,CGIから,WWWブラウザの今作業しているカレントディレクトリを変更するには・・・

[上に] [前に] [次に]
サル 1999/09/17(金) 13:31:39
 C言語でCGIを作るに当たり,CGIから,WWWブラウザの今作業しているカレントディレクトリを変更するには・・・
 通常CGIは「cgi-bin」で作業されるのですが,その一つ上に上がって作業をしたいのです
 どうしたら良いのか,教えて下さい.

ばかぼん 1999/09/17(金) 13:49:58
>CGIから,WWWブラウザの今作業しているカレントディレクトリを変更するには・・
の意味が今一つわからないのですが、
>その一つ上に上がって作業をしたいのです
この場合は、chdir("..")です。
エラーの場合は-1を返します。

まこ 1999/09/17(金) 14:03:52
>CGIから,WWWブラウザの今作業しているカレントディレクトリを変更するには・・
サーバ側で作業するんじゃなくて?
CGIはサーバにあります。

サル 1999/09/17(金) 20:19:26
 言葉足らずでご免なさい。
 CGIはサーバー側で作業する訳で、その場合はカレントの移動は「ばかぼん」さんの通りですけれど、
 作業した結果を見ているのは「cgi-bin」をカレントとして見えているブラウザの方じゃないですか、
 「html/cgi-bin」からCGIで「chdir("..")」として、その出力で「./test.html」を見ようとした場合、「html/cgi-bin/test.html」を見てしまうんですよね「html/test.html」ぢゃなく。
 これをCGIで「./test.html」と出力して、ブラウザ側からは「html/test.html」を参照したいのですよ。
 お判りいただけましたでしょうか?

かつべ 1999/09/17(金) 21:20:11
あー、これってLocationで解決しませんかね。

printf("Location: http://www.yahoo.co.jp/\n\n");


とすれば、そのURLに飛んでくれます。
これを応用すればいいのでは。

**これで合っているのか分かりませんが、これの答えがサルさんの
 求めている物なら、これってC言語がどうとかいうのじゃない
 ですね(^^;

サル 1999/09/18(土) 15:03:52
[[解決]]
有難うございます。どうにか解決しそうです。

おっしゃる通り、Cに拘る事ではないですね。

[上に] [前に] [次に]