< html>
< body>
< form action="manage.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>
manage.asp
< %
strName = Request.Form("username")
strHomePage = Request.Form("homepage")
strEmail = Request.Form("Email")
' 擷取表單資訊.
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' 建立fso對象.
path = "c:chunfeng/form.txt"
ForReading = 1, ForWriting = 2, ForAppending = 3
set file = fso.opentextfile(path, ForAppending, trUE)
' 開啟檔案. OpenTextFile方法將返回一個TextStream對象, 這個對象揭示了操作檔案內容的方法,如寫、讀一行、跳過一行.另我們還在OpentextFile的命令參數中定義了trUE,意為如檔案不存在,就建立它.因為如果檔案不存在,且沒定義trUE參數,系統就會出錯.
file.write(strName) & vbcrlf
' VB常量vbcrlf產生一個分行符號.
file.write(strHomePage) & vbcrlf
file.write(strEmail) & vbcrlf
' 向檔案寫資訊.
file.close
set file = nothing
set fso = nothing
' 清空.
現在開啟form.txt,可以看到如下的資訊:
User's name
User's home page
User's email
我們再把每一名來訪者的資訊從屬記錄中分離出來。因為它沒有象資料庫一樣的列,所以要想辦法從剛才記錄的檔案中讀出。在所建立的檔案中,第1行是使用者名稱,第2行是使用者首頁,第3行是使用者電子信箱,其他使用者的資訊也是這樣排列,即每3行包含一個使用者資訊。這樣,我們就可以再利用FSO來讀取了:
< %
set fso = Server.Createobject("Scripting.FileSystemObject")
' 建立fso對象.
path = "c:chunfeng/form.txt"
set file = fso.opentextfile(path, 1)
' 開啟檔案.
do until file.AtEndOfStream
' AtEndOfStream是TextStream對象的屬性,它提示何時到檔案尾部.
Response.write("Name: " & file.ReadLine & " ")
' ReadLine方法讀取1行內容,直到遇到分行符號,隨後的ReadLine調用讀取下一行.
Response.write("Home Page: " & file.ReadLine & " ")
Response.write("Email: " & file.ReadLine & "< p>")
' 逐行分析並格式化資料.
loop
' 迴圈列出每一使用者的資訊.
file.close
set file = nothing
set fso = nothing
%>
都做好了。
如果form.txt本身資料出現差錯,如每一使用者資訊只有2行而不是3行,那麼就會產生如下錯誤資訊:
Server object error 'ASP 0177 : 800a003e'
[1]