• ベストアンサー
  • 暇なときにでも

サーバ内ファイルの読み取り

ASPでデータベース更新HPを作成しているのですが、ASPを用いてWeb共有をとってないフォルダ(IIS配下にないフォルダ)のファイルを確認することはできないでしょうか? アクセスしたいのは画像ファイルで、必要なのはファイル名の一覧です。 環境はWin2000サーバ,IIS5.0です。 どなたかご存知の方がいらっしゃったら、教えていただけたらと思います。よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数146
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.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

関連するQ&A

  • データベースサーバー構築

    質問場所がここで良いか少し不安ですが 主にWebで公開するデータベースのシステムを作ろうとしています 自分のスキルの範囲でやろうとしていますが少し分からないことがあるので 教えてください まず 自分のできること(やっていること)は ・Windows系サーバー(IIS)を使ってVBスクリプト(ASP)で ローカルにあるMDBファイルにアクセスし商品を紹介する動的ページの作成 です。 今後複数ユーザーでデータベースを使うことになるので システムを変えていく必要がでてきて MDBはダメだという事になり色々調べた結果、今後のことも考えWebサーバーとは別に データーベースサーバーを作ってやると言う結論になりました 分からないこと(あやふやな理解になっていること) 1.データベースサーバーとは何か?  これは OSは別として、SQL Server、オラクル、MYSQLといった  RDBMSをインストールしただけのデータベース置き場専用という感じのPCを指すと言うことで良いでしょうか?  例えば Win2000のIISでwebサーバーを作りその中のASPページから  別PCにあるデータベースにアクセスする構成がデータベースサーバーを別に設けると言うことで正しいのかどうかと言うことなのです。 2.データベースは何がよいか?(SQL Serverでよいか?)  本来であれば、webで商品在庫を公開することがメインで更新頻度が少ないデータベース  (300人ぐらいで共有し1万~3万レコードです)です、なおかつ複雑なSQLは発行しません。  ほぼASPからの接続で抽出(ID=** という単純な抽出条件)しか使わない、あとは並び替え位なので  MYSQLが向いているようでしたが、私はLinux系は全く分かりません。  なので メンテナンスの面や勉強する時間の節約からすれば  Windowsで動くSQL Serverが良いと思うのですが(MYSQLもWindowsで  動くけど得意とする高速性はLinux系でないと発揮しないみたいなのでやめようと思っています)  上記のような条件と使い方の場合、そんなに処理時間やマシンの負荷に両者間では大差があるのでしょうか?  MDBの時でもあまり不具合を感じなかったので、それよりは格段にSQL Serverは早いし負荷が少ないと聞いていますので  大丈夫かなと思っています。 3.SQL ServerをインストールするPCは何が最適か?  先も述べたようにデータベース専用として使う予定ですが  Win2000でよいのでしょうか?(XPより2000の方が安定がよいと思うので) それともWin2003Serverに  インストールできるならその方がよいでしょうか?  とにかく安定度が一番なのですが、そもそもWin2003Serverに  インストールできるのでしょうか?(もうすぐ2008?がでるからそれにしようかとも検討中です) 4.最終的に自分の思っていることと実体の構成(理解)は理解は以下のような感じで正しいのでしょうか?    複数でデータベースを共有するため、MDBでなくネットワークに強い (共有データベースで壊れにくい?壊れない?)データベースに変えるため、windowsで動くSQL Serverを使う  そのSQL ServerはwebサーバーがあるPCとは別のPCにインストールして使う  (データベースサーバーを別に用意する)ことでwebサーバーの負荷も減らし、データベースも快適に動くようにする 最終的にはWin2003Server×2台で1方はwebサーバー1方はSQL Server をインストールして使うことで上記を実現させる 5.SQL ServerのデータベースはMDBのような最適化というような作業が必要なのでしょうか?  そもそも 似ているようで違う MDBとSQL Serverでその特徴がきちんと理解できていないので  愚問なのかもしれませんが 気になるので教えてください 6.オラクルと違いSQL Serverはレコードの更新や追加の時  その行(レコード)だけロックすると言うことができない?  ようなので、Aさんが自分の商品を更新中にBさんも更新する  と言うようなことが起こった場合(MDBはこれになると壊れると書いているので MDBをやめました)  Aさんの更新が終わるまでBさんは更新できない(更新終了まで待つ)と言うことになるのでしょうか?  また、このとき商品一覧を要求された場合、更新中の情報はどの様になるのでしょうか?(更新終了まで見れない?) なんか 分かりにくい質問になってしまいましたが、お金をかけて 買ったはいいが、理解不足でやりたいことができなかったと言うことは 避けたいので ご教授下さい。 よろしくお願いします。

  • フォルダ共有時サーバ名を隠したい

    Windows2000Serverでフォルダ共有をした場合、通常そのフォルダにアクセスするにはUNC(\\サーバ\フォルダ...)で指定しますが、クライアント(Windows2000Pro)にサーバ名を知られたくありません。サーバ名を隠して共有することはできるでしょうか? ちなみにWeb共有などでなく、Windowsでフォルダを右クリックすると出る共有です。

  • .html ファイルでasp実行?

    現状、Win2000Server+IIS5.0 上で、以下のようなファイルが動いています。 これを Win2003Server + IIS6.0に移行しているところなのですが、うまく動きません。 まず、index.aspで、index.htmlにリダイレクトし、index.htmlは表示されます。しかし、index.htmlの最初の行にある<!--#include Virtual = "/gl.asp"-->がインクルードされず、ブラウザに表示されたソースを見るとそのまま表示されてしまいます。 そもそも、.htmlなる拡張でaspが実行されるのかが疑問なのです。 ただ、現行サーバでは動いているんですが。 ちなみに新サーバ上でのIISマネージャのWeb拡張にてSSIやCGI、ASPは有効にしてあります。 次に、SSIを.htmlにマッピングしてみました(現行サーバではそうなっていませんが)。 結果、<!--#include Virtual = "/gl.asp"-->はインクルードされましたが、 gl.aspは実行されずそのまま読み込まれただけです。 つまり、ここでもPerlが実行されないまま、単にインクルードされたに過ぎないのです。 Perlでのスクリプトも単独では動作しているのは確認しております。 新サーバ上で、どのような設定が必要なのかが判りません。どなたかお知恵をお貸しください。 よろしくお願いします。 ****************************** [ファイル名 index.asp] <% リダイレクトの為のスクリプト%> ******************************* [ファイル名 index.html] <!--#include Virtual = "/gl.asp"--><% %> <html ・・・ 以下省略(これ以降もHTMLタグとASPスクリプトの混在したものが続く) ************************* [ファイル名 gl.asp] <script language="PerlScript" runat="Server">Perlスクリプト</script> <% ・・・ 以下省略(これ以降もサーバー側ASPに関する記述が続く)に関する記述が続く)

  • サーバの中のファイルの安全性について

    お世話になります。 サーバの中のファイルについてなのですが、 会社のホームページでは、入力フォームから登録された方のデータが 自動的にファイル(CSV)に記録されるようになっております。 FFFTPでサーバに接続すると、 ・WEB ・DATA ・LOG 等表示され、DATAフォルダの中にあるCSVデータに記録されます。 ホームページは、WEBフォルダの中に入っております。 外部からは、WEBフォルダしかアクセスできないという風な説明を 受けたのですが、CSVの個人データは結構な量になっており、 流出のことを考えると心配です。 本当に外部からWEBフォルダより上層のフォルダにはアクセスできない のでしょうか。 レンタルサーバ・独自ドメインです。(詳しくはわかりません。) HP制作は単発で頼んだものですので、アフターフォローはありません。 お教えいただけるとありがたいです。 よろしくお願いいたします。

  • IIS+ASPで実行可能なサーバと不可能なサーバがある

    現在、IISとASPを使用してアプリケーションを動かしています。 データベースにMDBファイルを使用し、データの 登録・参照・削除をASPで行っています。 都合によりIISサーバを違うPCに移し変えることになりました。 ファイルをコピーして、IISの設定を同じにしましたが、 クライアントからデータの書き込みをすると「ページを表示できません」 と出てしまいます。エラーの理由としてデータの追加を行っている ASPファイルの「(レコードセット).AddNew」の行で 「データベースまたはオブジェクトは読み取り専用なので、更新できません」 ということなのですが、今までのサーバでは動いていたファイルを そのままネットワーク経由でコピーしただけなので 修正方法がわかりませんでした。 IISの設定はあまり詳しくないので、不足している情報が あれば追記いたします。 OSは新PC・旧PCともにWindowsXP Pro(SP1)です。 ご指導よろしくお願いいたします。

  • PCフォルダやファイルの共有について

    PC WIN VIATAとWIN7の間で、フォルダやファイルを共有したいです。 パブリックフォルダ内のデータはお互いにみれるのですが、その他のファイルや、フォルダを 共有がうまく、できません。 互いのPCのネットワークの一覧に、共有とかかれて、フォルダがあるので、 これをクリックすると 「(開いたフォルダに)アクセス許可がありません。ネットワーク管理者にアクセス許可を要求してください」とでて、 フォルダを開けれません。 パスワードの設定は、無効にしてあります。 どのような設定をしたら、フォルダや、ファイルを共有することができますか?

  • サーバー上の共有フォルダについて

    サーバー上の共有フォルダについて質問させてください。 「group1」というグループがあり、「\\サーバー\aaa\bbb\」という サーバー上の共有フォルダがあります。 group1はaaaのフォルダのアクセス権限を持っていません。 しかしこのgroup1はbbbのフォルダのフルアクセス権を 与えたいと思っています。 そのためbbbというフォルダのプロパティを開き、 「共有フォルダ」と「セキュリティ」のタブを開き、 「Administratorのアクセス許可」でgroup1を追加し、 フルアクセス権を与えたのですが、そのフォルダ内を 観ることは出来ても更新することが出来ません。 (新規ファイルなどを作成できません) bbbというフォルダのみアクセス権限を与えたいと思っているのですが aaaという上層のフォルダの更新権限を持っていないとbbbという 下層のフォルダの更新権限というのは持てないのでしょうか? bbbというフォルダのみ更新権限を与えられる方法を 教えていただきたいです。 なお、サーバーはWindows2003サーバー、クライアントはWinXpProです。 よろしくお願いいたします。

  • IIS+ASPでデータベースの表示方法

    IIS+ASP+ACCESSでデータベースの内容を一覧で表示しようと思っています。 表示方法として一度データベースの一覧を配列に格納してから表示する方法か、データベースを読み込みながら表示するかどちらの方がIIS,データベースエンジンの負荷を押さえることが出来るのでしょうか? アクセスが集中したときのことを考えるとどちらにしようか迷っています。 どうぞご教授ください。

  • 外部からFTPサーバーにアクセスできません。

    友人と大学の授業で使う大量のファイルを共有するためにWindowsXPproのIISでFTPサーバーを立ち上げました。 さきほど友人にアクセスさせようとしたら、 「このフォルダにアクセスできません。ファイル名を正しく入力したことと、フォルダにアクセスするためのアクセス許可があることを確認してください」 と出てアクセスできなかったみたいです。 マイネットワークのネットワークプレースを設定しました。 ファイアーウォールの設定はきちんと行いました。 同じ設定で私のPCからはマイネットワークでアクセスできます。 私のPCではユーザー名とPWを入力する画面が出てきて、入力するとちゃんとファイルが表示されます。 よろしくお願いします。

  • IISでASPサイトを動かすサーバー

    ASPの開発をしているものです。 開発、テストなどはXP Pro のIISでやっています。 アクセスのデータベース連携で検索、新規登録などをおこなうWebサイトを社内LAN環境で稼動させたいと思うのですが、PDFファイルのアップロードなど、ハードディスクに容量も必要なのでこのWebサイト専用のサーバーを用意することになりそうです。 そうなるとOSはXP Proよりもサーバー用OSのほうがよいのでしょうか? サーバーに関しての知識はあまりないので、社内のネットワーク管理者に聞いてスペックやOSは決めると思うのですが、XP Proでは動いていたASPが他のOSに変えたために動かないなんていうことはないでしょうか?サーバー用OSでも、同じIISなら大丈夫でしょうか?

専門家に質問してみよう