新規記事投稿 フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: Re: NTサーバ用実行形式でファイルを開けない
Date: 1999/10/21 02:24:50
Reference: mesh.program/00680

10月18日に、TADさんは書きました。

コソニチハ SAYKAデス

TADさん、答えていただいてありがとうございます


>'箇条書き'にするだけでももう少しわかりやすくなると思いますよ。

箇条書き…そうですね、列挙しておいた方が判りやすそう…(殴
今度はそうします


>>現象
>>「ファイルを開く」プログラムが動かない。
>以下の認識であってますか?
> CGIプログラムの中でファイルを操作(読み書き)するプログラムを実行すると
> 「ファイルが開けない」(正しくは見つからない)というエラーメッセージが出力される。
>  CGIプログラム自体は動作している。
> このCGIはperlスクリプトではなくてWindowsの実行形式(.exe)。

はい。その通りです。


>>「ファイルが開けない」という不具合が起きました。
>何のファイルを開こうとして開けないのでしょうか。
>その開こうとしているファイルは在るべきディレクトリに在りますか?
>(これが一番有力だと思いますが...)
>また、そのファイルのパーミッションは?

開こうとしているのは「.html」という拡張子のテキストファイルです。
置いてある階層は、実行ファイルと同じ階層で、
プログラム中ではパスの指定がなされていません。
(違う階層だとパス自体を間違ってしまう可能性が出ると思ったので)
パーミッションはFTPツールから見る限りでは、
誰でも読み書きできる様になっています。


>>そこで、html(要はテキストですね)ファイルを開いて中身を出力する…
>>というだけのプログラムを作ってみたんですが、
>>同様に「ファイルが開けない」(正しくは見つからない)
>>というエラーが出て動作しませんでした。
>CGIでファイルを作成するとどのディレクトリに作成されましたか?
>それは想定しているディレクトリですか?

言葉が足りませんでしたね。(^^
中身を出力…って言うのは「ファイルに」ではなく標準出力に、です。
でも、ファイルを作成する、というのはプログラムが参照している
場所を探る為には有効かもしれません。
この方法を試してみたいと思います。


>>☆NTサーバ用の実行形式ファイルをアップロードする時、
>> 環境が関係あるのか?
>FTPするときは、サーバ側クライアント側とも環境は関係ありません。
>ただ、
> ファイルをそのまま送るか(バイナリモード)
> 改行コードを変換するか(テキストモード)
>を指定されたモードで送るだけです。
>その違いについては要注意です。
>Macをお使いの場合は特に改行コードの問題は気をつけないといけないですね。

関係ないんですね。
改行コードで問題が出るのは何処かの書き込みで
幾つか触れているのが有ったと思います。
ハマリやすいんでしょう、私もこの記事を読んでから注意する様にしています。


>>☆関係ないとしたらプログラムを作る時に
>> 注意しなくてはいけない事があるのか?
>ファイルを操作(読み書き)するプログラムを作るにあたっては、という事ですよね。
>特定のファイルを読む場合はそのファイルを見つけられるか、パスは通っているかを
>気を付けないといけないでしょうね。
>取りあえず書き出すだけなら、どこかにファイルは作ってくれるでしょうけど。

私も「パスが通っているのか」というのが引っ掛かっている様に思えます。
実際、エラーを表示する部分もHTMLとして出力しているわけですし…(^^;


>#参考になりますか。(^^;;

ありがとうございます。参考になりました。
取り敢えずプログラムが何処を見ようとしているかが
確かめられるかもしれません。


とても困ったらまた質問させていただくかもしれませんが、
その時はまたよろしくお願いします


-----------------------------------------
sayka@halcyon.ne.jp
SAYKA.