ASPでファイルシステムオブジェクトを作成して、
相対パスでホームディレクトリ内のテキストファイルにアクセス
しようしてるのですが、ファイルの読み込みができません。
なにかIIS側に設定などがあるのでしょうか?
とりあえずアクセス許可関係は全部許可してます。

状態としてはファイル読み込みの処理あたりで停止?
しているようで、ブラウザのステータスバーの処理状況ゲージ?が
中間ぐらいでとまってます。

パスの取得、パスからファイルシステムオブジェクトの作成までは
うまくいっている模様です。
ファイルの存在チェックはできました。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ソース自体は問題ないようですね


(手元のWindows2000 Serverでテストしてみました)

あとはIIS側の問題のような気がしますので
#1に挙げた内容をチェックしてみて下さい。
    • good
    • 0
この回答へのお礼

まさにノートンのスクリプト遮断でした。
ありがとうございます。

お礼日時:2002/01/30 11:33

ソースがないので、サーバー(IIS)側の原因として


思いつくものを挙げてみます。

・サーバー側でアンチウイルスソフトなどのスクリプト遮断が動作している(よくあるのがNorton AntiVirus)
・IISの設定で親パス無効にしている(デフォルトは有効)

あと、質問に書かれていらっしゃる内容が「本当」に正しいのであれば該当しませんが、一応以下の原因も考えられます。

・ASPからの該当ファイルのアクセス権限(匿名ユーザーでIISの設定を変更していなければ「IUSR_サーバー名」)が適切ではない
・マイクロソフトのIISのセキュリティチェックリストを実践して、ファイルシステムオブジェクト自体を無効にしている

この回答への補足

<%mp = Server.MapPath("/") & "\inst.txt"
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fh = fs.OpenTextFile(mp, 1) ※このへんでとまっている様子
data = fh.ReadAll
fh.Close
Response.Write data
%>
ちなみにこれがソースです。
ASPの練習本に載っていたものなので
あっているとおもいます。

補足日時:2002/01/28 11:00
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qテキストファイルの読み込み

サーバにあるテキストファイルの読み込みは、やったことあるのですが、
ローカルマシーンにあるテキストファイルを読み込むことは可能なのでしょうか。

Aベストアンサー

不可能です。
ローカルにあるファイルをサーバから読めてしまったら、セキュリティもなにもあったもんじゃありません。

Q別のサーバーのテキストファイルの読み込み

別のサーバーに置いてあるテキストファイルを読み込み、
HTML上にて表示させる方法はありませんか?
携帯でも表示させたいので、フレームは使いたくありません。

また、テキストファイルは、直接見えてしまっても問題ありません。

HTMLファイル
例:http://www.com/test.asp

TEXTファイル
例:http://www.net/test.txt

Aベストアンサー

No.2さんが提示されたサンプルは、VB.NETではなく、レガシーASPのVB Scriptによるものです。

ASP.NET的なソリューションでしたら、こちらの例が参考になるかと思います。
http://www.atmarkit.co.jp/fdotnet/dotnettips/302wcget/wcget.html

TextファイルをWeb ClientクラスのOpenReadメソッドで読み込み、必要な部分を切り出して加工表示する。
最近、外部リソースの取得によく使われる手法ですね。

Qブラウザーからサーバ側のaspファイルを読み込む方法について

クライアント側のVBscriptやJavaScriptなどのスクリプト
言語から画面を遷移しないでプログラム内でaspファイルを
呼びサーバ側での処理をした後にまたその後のプログラム
を実行するような処理をしたいのですがどのように記述し
たらよいのでしょうか?
(クライアントのプログラム内でサーバ側のaspファイルの
関数を呼び処理の結果をクライアントのスクリプト言語に
反映させたいのですが。。。)

Aベストアンサー

まったく使ったことはありませんのでなんとも言えませんが、リモートスクリプティングでできるかもしれません。

クライアントサイドのJavaScriptからサーバーサイドのスクリプトを実行して結果を受け取るような使い方ができるそうです。

「リモートスクリプティング」をGoogleで検索すると解説やサンプルがヒットしますので調査してみてはどうでしょうか。

参考URL:http://www.microsoft.com/japan/msdn/columns/scripting/scripting041299.asp

Qファイルを読み込むとデータが変わるのはなぜ?

Excel VBAでOpenメソッドを使ってtxtファイルを読み込みセルに表示させると、
txtファイルに書いてある値と違う値が表示されてしまいます。読ませたデータは、106303314215443605050000,05D0NPZHRPF0,000CE5155098です。これが
1.06303E+23,05D0NPZHRPF0,000CE5155098となってしまいます。原因がわからず困っています。ソースは次の通りです。

'開くファイル名を取得
getF_name = Application.GetOpenFilename("テキストファイル(*.txt),*.txt")
If getF_name = False Then
Exit Sub
End If

'i = Worksheets("管理台帳2").Range("B65536").End(xlUp).Row
i = 3
'ファイルを開いて、データを読み込む
Open getF_name For Input As #1
Do Until EOF(1)
Input #1, myBuf1, myBuf2, myBuf3

If myBuf2 = myBuf3 Then
Worksheets("管理台帳2").Cells(i + 1, 2).Value = myBuf1
Else
Worksheets("管理台帳2").Cells(i + 1, 3).Value = myBuf1
Worksheets("管理台帳2").Cells(i + 1, 4).Value = myBuf2
Worksheets("管理台帳2").Cells(i + 1, 5).Value = myBuf3
End If
i = i + 1
Loop
'開いたファイルを閉じる
Close #1
'セルをデータの幅に調整

Worksheets("管理台帳2").Select

Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
どなたか教えて頂けませんか?宜しくお願いいたします。

Excel VBAでOpenメソッドを使ってtxtファイルを読み込みセルに表示させると、
txtファイルに書いてある値と違う値が表示されてしまいます。読ませたデータは、106303314215443605050000,05D0NPZHRPF0,000CE5155098です。これが
1.06303E+23,05D0NPZHRPF0,000CE5155098となってしまいます。原因がわからず困っています。ソースは次の通りです。

'開くファイル名を取得
getF_name = Application.GetOpenFilename("テキストファイル(*.txt),*.txt")
If getF_name = False Then
Exit Sub
...続きを読む

Aベストアンサー

えっと、まずは回答ではないですけどカテゴリはあってますか?ExcelVBAの質問に見えるのですが…
ExcelVBAの質問であれば、「Microsoftアプリケーション」の方で質問されるのがいいと思いますよ。

えっと、"106303314215443605050000"が"1.06303E+23"と表示されるのを直したいと言うことですよね?
"106303314215443605050000"は数値データ?それとも文字データ?

数値データなら、桁数分の書式設定をしてやれば良いでしょう。
書式設定→"000000000000000000000000"

文字データなら、書式設定を「文字列」にするか。もしくは、以下の様にすれば出来ると思います。
~.Value = "'" & Buf1
にすれば、全て表示されます。

如何でしょうか。

Qcsvファイルを読み込む方法について

aspにてscvファイルを読み込む際、直接ファイル名を指定するとうまくいくのですが、ファイル名を変数で指定しようとすると、「ファイルが見つかりません」というエラーになってしまいます。どのように記述すれば良いでしょうか。お教えください。よろしくお願いいたします。
(例)
'OK
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objText = objFS.OpenTextFile(Server.MapPath("aaa.csv"),1)

'NG
fname = "aaa.csv"
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objText = objFS.OpenTextFile(Server.MapPath(fname),1)
また、
Set objText = objFS.OpenTextFile(Server.MapPath("""" & fname & """"),1)
としてもダメでした。以上です。

aspにてscvファイルを読み込む際、直接ファイル名を指定するとうまくいくのですが、ファイル名を変数で指定しようとすると、「ファイルが見つかりません」というエラーになってしまいます。どのように記述すれば良いでしょうか。お教えください。よろしくお願いいたします。
(例)
'OK
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objText = objFS.OpenTextFile(Server.MapPath("aaa.csv"),1)

'NG
fname = "aaa.csv"
Set objFS = CreateObject("Scripting.FileSystemObject")
Set obj...続きを読む

Aベストアンサー

とりあえず
>Server.MapPath(fname)
がどんな値になっているのかチェックしてみてはいかがですか?


おすすめ情報