- ベストアンサー
FileExitsについて
ファイルの存在を確認する方法として"FIleExists"がありますが、 あれはローカルのディスクにしか使用できないのでしょうか? ネットワークドライブ内のファイルを調べようとしたのですが、うまく行きません。 調べたいファイルのパスは正しく取得できていますし、もちろんそのパスにファイルは存在します。 使用が可能なのか不可なのかと、もし不可なら他の方法も教えていただければと思います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず、FileExists に指定するパスは \\server\sharename\directory\file.ext という形式にされていますでしょうか。 S:\directory\file.ext としても、asp にとっては、S:ドライブが どのネットワークパスなのか、わかりません。 次に、\\server\sharename はどのような アクセス権になっていますでしょうか。 ASPを匿名ユーザーとしてアクセスすると、 「IUSER_サーバー名」のユーザーとしてASPスクリプトは 動作します。 このユーザーが共有ディレクトリにアクセス権があるか 確認していただければと思います。 あるいは、ASPファイルに対して匿名アクセスではなく 基本認証アクセスに変更してみると、アクセス権の テストが行いやすくなるかと思います。
その他の回答 (2)
そのファイルはそのネットワーク上に公開されているものなのでしょうか?もしくは権限が必要だとか…。 そういった場合、エラーが起きることがあるのではないでしょうか? もしそうだった場合、そのPCに共有フォルダをつくり、そのフォルダの共有設定をしてやる必要があります。 そういうのを全部ご存知の上で、この質問を出したとしたら………ごめんなさい、蛇足です。 蛇足ついでに共有フォルダの作り方。 1.「コントロールパネル」-「ネットワーク」-「ネットワーク設定」タブで「Microsoftネットワーク共有サービス」が追加されていることを確認。 2.フォルダを適当なところに作る。 3.そのフォルダで マウス右ボタン -「共有...」 4.「共有タブで「共有する」を選ぶ。 自分で墓の穴掘り掘りしてる気が…(^^;
- senna13
- ベストアンサー率28% (67/237)
すごく単純な部分ではないかと思います。 ネットワークドライブへの検索ではなく、ネットワークに 繋がっているコンピュータの中のファイルになるので、 相手のマシン名の指定等をキチット行えばよろしいかと・・ \\マシン名\\フォルダー名\サブフォルダー名\ファイル名.xxx たぶん。 私達のASPでも同じような事をしていますが、上記のようにしています。
お礼
ありがとうございます。非常に役立ちました。 ASPはまだまだ奥が深いですね。
お礼
ありがとうございます。 FileExistsは物理パスでしか使えないんだから、 "\\Server\share\~"の形式にすればいいんですね。 非常に役立ちました。 ASPは奥が深いですね…。