- ベストアンサー
サーバ内ファイルの読み取り
ASPでデータベース更新HPを作成しているのですが、ASPを用いてWeb共有をとってないフォルダ(IIS配下にないフォルダ)のファイルを確認することはできないでしょうか? アクセスしたいのは画像ファイルで、必要なのはファイル名の一覧です。 環境はWin2000サーバ,IIS5.0です。 どなたかご存知の方がいらっしゃったら、教えていただけたらと思います。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
FileSystemObject を利用することにより 一覧情報を得ることができます。 簡単なサンプルをあげておきます。 ListFiles という関数に物理パスを渡すと、ファイル一覧のテーブルを作成します。 ※テーブルのデザインは、OKwebにあわせてみました. ------ ListFiles.asp <% Option Explicit %> <HTML> <HEAD> <STYLE> TABLE {border-color: #FDCD1A; border-width:4px; border-style:double; border-collapse:collapse;} TH { background-color:#FDCD1A; color:#535353; font-size:12px;} TD { font-size:12px;border-color: #FDCD1A;} </STYLE> </HEAD> <BODY> <p>ファイル一覧</p> <% ListFiles "c:\" %> </BODY> </HTML> <% '--- ファイルの一覧を作成する Sub ListFiles(strPath) Dim FileSystem, Folder, Files, File '--- ファイルシステムオブジェクトを作成 Set FileSystem = Server.CreateObject _ ("Scripting.FileSystemObject") '--- フォルダオブジェクトを作成 Set Folder = FileSystem.GetFolder(strPath) '--- ファイル一覧オブジェクトを作成 Set Files = Folder.Files '--- Table 形式で出力 Response.Write "<TABLE border=1>" & vbCrLf Response.Write "<TR >" Response.Write "<TH NOWRAP>ファイル名</TH>" Response.Write "<TH NOWRAP>サイズ</TH>" Response.Write "<TH NOWRAP>作成日</TH>" Response.Write "<TH NOWRAP>更新日</TH>" Response.Write "<TH NOWRAP>参照日</TH>" Response.Write "</TR>" & vbCrLf For Each File In Files '--- ファイル名を出力 Response.Write "<TR>" Response.Write "<TD>" & File.Name & "</TD>" Response.Write "<TD Align=Right>" & File.Size & "</TD>" Response.Write "<TD>" & File.DateCreated & "</TD>" Response.Write "<TD>" & File.DateLastModified & "</TD>" Response.Write "<TD>" & File.DateLastAccessed & "</TD>" Response.Write "</TR>" Next Response.Write "</TABLE>" & vbCrLf '--- オブジェクトを開放 Set File = Nothing Set Files = Nothing Set Folder = Nothing Set FileSystem = Nothing End Sub %> ----- ココマデ
お礼
ありがとうございます! 大変助かりました。 わざわざサンプルまで作っていただいてすいません。 これでやっと家のマクラで寝られそうです。 今回のでASP未熟なのを痛感しました・・・。 重ね々々、ありがとうございました。 11/26 Canary-Ho