ASP中FSO的神奇功能

來源:互聯網
上載者:User
fso|fso 轉帖

FSO 模型對象
Drive Object:磁碟機對象 供存取磁碟或者網路磁碟機
FileSystemObject Object:檔案系統對象 供存取電腦的檔案系統
Folder Object:檔案夾對象 供存取檔案夾的所有屬性
TextStream Object:文字資料流對象 供存取檔案內容

   你可以使用上面的對象做電腦上的任何事情,也包括破壞活動 ;-( 所以,請小心使用FSO。在web環境中,儲存資訊是非常重要的,比如使用者資訊,記錄檔,等等。FSO提供了一個強大且簡單的方法高效率地儲存資料。在這篇文章裡面,著重討論FileSystemObject和TextStream對象。

   FSO由微軟公司提供支援,對於非Windows系統,大概不能再使用ASP。

   怎麼樣使用FSO?

   為了使用FSO來執行所有的工作,首先要建立對象,代碼就象下面這樣:

   < %
Set fso = Server.CreateObject("Scripting.FileSystemObject")
% >

   這樣就建立了FSO並且賦予變數fso,接著就可以使用熟悉的object.method文法來執行檔案系統的操作〔查看Visual Basic文檔,擷取更多的關於對象和對象嚮導編程的知識〕。在這裡,我們可以使用fso.method 或者 fso.property,這些將在下面的例子中看到。

   FSO模型位於由微軟提供的指令碼已耗用時間DLL檔案中,它是scrrun.dll。你可以在任何應用程式中引用這個DLL檔案,比如MS Access,Word。 就是說,並非僅僅限制在ASP中應用它。

   這裡有一個簡要的FSO方法列表:

   FSO方法
CopyFile 拷貝一個或者多個檔案到新路徑
CreateTextFile 建立檔案並且返回一個TextStream對象
DeleteFile 刪除一個檔案
OpenTextFile 開啟檔案並且返回TextStream對象,以便讀取或者追加

   如果想瞭解完整的FSO方法與屬性,請查閱微軟MSDN。下面來看幾個例子。


假設你想建立一個簡單的留言簿,你可以建立一個資料庫,在其中儲存使用者的資訊。然而,如果並不需要資料庫的強大功能,使用FSO來儲存資訊將節省你的時間和金錢。並且,一些ISP也許限制了web上的資料庫應用。

   假設你在一個表單中收集了一些使用者資訊,這裡是一個簡單表單HTML代碼:

< html>
< body>

< form action="formhandler.asp" method="post">
< input type="text" size="10" name="username">
< input type="text" size="10" name="homepage">
< input type="text" size="10" name="Email">
< /form>
< /body>
< /html>

   再看看formhandler.asp中處理表單的代碼:

< %
'' Get form info
strName = Request.Form("username")
strHomePage = Request.Form("homepage")
strEmail = Request.Form("Email")

'' create the fso object
Set fso = Server.CreateObject("Scripting.FileSystemObject")

   迄今為止,還沒有新鮮的東西,無非是擷取表單域的值並且賦值到變數。下面出現了有趣的部分 - 寫檔案:

path = "c: emp est.txt"
ForReading = 1, ForWriting = 2, ForAppending = 3

'' open the file
set file = fso.opentextfile(path, ForAppending, TRUE)

'' write the info to the file
file.write(strName) & vbcrlf
file.write(strHomePage) & vbcrlf
file.write(strEmail) & vbcrlf

'' close and clean up
file.close
set file = nothing
set fso = nothing


   回想一下,OpenTextFile方法返回一個TextStream對象,它是FSO模型中的另外一個對象。TextStream對象揭示了操作檔案內容的方法,比如寫、讀一行、跳過一行。VB常量vbcrlf產生一個分行符號。

   在OpentextFile的命令參數中定義了TRUE,這就告訴了系統,如果檔案不存在,就建立它。如果檔案不存在,並且沒有定義TRUE參數,就會出錯。

   現在轉到目錄c: emp,開啟test.txt,你可以看到如下的資訊:

User''s name
User''s home page
User''s email


   現在已經有了一些使用者資訊儲存在檔案中,就像一個簡單的資料庫。假設有一個使用者想瞭解所有的訪問者,就要從登
記的資訊中分離出相關部分,因為沒有象資料庫一樣擁有結構化的列。

   我們知道,在所建立的檔案中,第1行是使用者名稱,第2行是他們的首頁,第3行是他們的電子郵件地址。隨後登記的用
戶也是按照這樣的結構儲存他們的資訊,所以每3行將包含一個使用者的登記資訊。知道了這些,就可以編寫下面的代碼來顯
示資訊:

< %
'' create the fso object
set fso = Server.Createobject("Scripting.FileSystemObject")
path = "c: emp est.txt"

'' open the file
set file = fso.opentextfile(path, 1) < -- For
reading

   接著,分析每一行,並且格式化資料:

do until file.AtEndOfStream
    Response.write("Name: " & file.ReadLine & " ")
    Response.write("Home Page: " & file.ReadLine & " ")
    Response.write("Email

[1] [2] [3] 下一頁  



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.