Webサーバーのファイルを一覧する

解決


IZU  2005-08-18 06:23:41  No: 91530

VB6でWebサーバー上のあるフォルダ以下にある
ファイルの一覧を取得したいのですが、可能でしょうか?

現在は、下記のようにして実現を試みています

Private Sub sFolderSearch2(ByVal myFolder As Object)
Dim Fso As New FileSystemObject
Dim myFile      As File
Set Fso = CreateObject("Scripting.FileSystemObject")
For Each myFile In myFolder.Files
  Debug.Print myFolder & "\" & myFile.Name
Next
With myFolder
  If .SubFolders.Count > 0 Then
    For Each mySubFolder In .SubFolders
      Call sFolderSearch2(mySubFolder)
    Next
  End If
End With
Set myFile = Nothing
Set mySubFolder = Nothing
End Sub

という(どこかで見たことのあるような)コードを

Call sFolderSearch2(Fso.GetFolder("ここにパスを記述"))

というふうにして呼び出しています
パスのところにローカルフォルダを指定すると動作するのですが
WebサーバーのURLを("http://xxxxx/xxxxx/"のように)指定すると
"パスが違う"というメッセージが出てとまってしまいます

コードの間違いなどがありましたらご指摘願えませんでしょうか
もしくは、別の方法で実現できるなら、そのヒントをいただけるとありがたいです
よろしくお願いします


名無し  2005-08-18 12:32:51  No: 91531

そりゃそうだろ


Geo=TK3  2005-08-18 14:44:34  No: 91532

FileSystemObject は Windows ファイルシステムにしか対応してない
ので、Web サーバにあるファイルを操作する為には使えません。
当然 URL をパス名と認識しませんので“パスが違う”というエラー
が発生する訳です。

で Web サーバ上のファイル一覧を取得する方法は多分存在しないん
じゃないかと。
Web サーバ側の管理までしているのなら CGI とか使って抜け道作れ
なくもなさそうだけど、下手すると抜け道どころか大穴あけそうで
すしねー (^^;; 。


IZU  2005-08-18 16:11:53  No: 91533

やっぱりそうですよね、HTTPでそれができると
セキュリティ的にも問題がありますよね

先述のソースを参考にしたサイトはわりと有名なところで、
「Webサーバーの」ファイルの一覧を列挙することが可能
と書かれていたので、その通りにやればできるのかなと思いました

ありがとうございました


Geo=TK3  2005-08-18 18:19:11  No: 91534

>先述のソースを参考にしたサイトはわりと有名なところで、
>「Webサーバーの」ファイルの一覧を列挙することが可能
>と書かれていたので、その通りにやればできるのかなと思いました

  んー、わりと有名らしい元サイトがどこだか全く見当もつかないので (^^;; 
あくまでも個人的な推測なのですが 。
  それってもしかすると Web サーバ側に FileSystemObject 使って
ファイル一覧を取得する ASP を作成する事でファイル一覧を列挙で
きるという事なのではないでしょうか。


名無し  2005-08-20 11:19:46  No: 91535

FTPじゃねーの?


Dental  2005-08-20 19:01:15  No: 91536

> で Web サーバ上のファイル一覧を取得する方法は多分
> 存在しないんじゃないかと。

『WebDAV対応』したWebサーバという限定条件下に限れば、
エクスプローラにWebフォルダとして割り当てておく事で、
自動的に PROPFIND や COPY 等の HTTPメソッドに変換されて
通常のファイルシステムのごとく取得できたような気が……。

もし、FileSystemObject ではできなかったとしても、少なくとも、
ADOでは操作できるはず。(MDAC SDKにサンプルあり)


ひろ  2005-08-22 20:13:47  No: 91537

ものすごく原始的な手を1つ(Webサーバの実装と設定に依存しますが)

・index.htmlの様なインデックスページを置かない


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加