您的位置:建站学院首页 >> 文章 >> asp技术 >> FSO专题
奇妙的文件系统对象组件
很久以前(其实就几个月)就知道 Chinaasp 有个实际效果象黑客的ASE程序,最近 Chinaasp 又提供了精华区全文检索功能。看来文件系统对象组件还是很有用的,对吧?如果你对此有兴趣,可以看看这篇文章。本文属入门级,修行还靠你自己,呵呵。

注意:我们在下文中要操作的是Web服务器的文件系统,所以首先要确定你对该服务器有足够的权限。如果你不想麻烦你的Web Master,你也可以用微软的Personal Web Server来进行你的试验。

FSO对象包括
驱动器对象(Drive Object)用来存取本地盘或网络盘,
文件系统对象(FielSystemObject 简称FSO)是用来存取文件系统
文件夹对象(Folder Object)用于存取文件夹的各种属性
文本流对象(TextStream Object 简称TS)存取文件内容

使用以上对象,你的确可以在一台电脑上为所欲为,但同样也可能会造成灾难,所以在使用FSO的时候要注意安全,特别是在Web应用中,Web服务器中会存储诸如用户信息,日志文件等等重要信息,更要格外小心。在本文中,我们主要探讨FSO对象和TextStream对象

(FSO由Microsoft提供,所以本文内容只适用于Windows操作系统下的ASP编程。)



如何使用FSO?

要开始干坏事之前,首先要学会建立FSO。如果你曾经在ASP中创建过对象,那么这事好办:

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

现在我们已经建立了FSO,并赋值给变量fso,接下来就可以使用我们熟悉的object.method方法来使用它了(如果你对对象的操作不熟悉,请自己去补课,这里恕不奉陪)。在下面的例子中,主要使用的是fso.method和fso.property。

(FSO模块来自微软提供的脚本运行库scrrun.dll中,许多应用系统都会调用它,例如Access,Word等等,并非专为ASP应用开发。)

下面是我们要用到的部分FSO方法:

CopyFile 拷贝一个或多个文件
CreateTextFile 创建一个文件并返回一个TS对象
DeleteFile 删除一个文件
OpenTextFile 打开一个文件并返回一个可用于读和添加的TS对象。

要获得完整的FSO方法,请参看MSDN。下面看个例子吧。



写文件

设想你要建立一个简单的guestbook,而又不想用复杂的数据库,或者你的ISP限制你用数据库,大可以用FSO来干。
假设你要从用户提交的form中收集信息,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>

再看看用于处理这个form的formhandler.asp。

<%
' 获取 form信息
strName = Request.Form("username")
strHomePage = Request.Form("homepage")
strEmail = Request.Form("Email")

' 建立fso对象
Set fso = Server.CreateObject("Scripting.FileSystemObject")

path = "c:\temp\test.txt"
ForReading = 1, ForWriting = 2, ForAppending = 3

' 打开文件
set file = fso.opentextfile(path, ForAppending, TRUE)

' 把信息写入文件
file.write(strName) & vbcrlf
file.write(strHomePage) & vbcrlf
file.write(strEmail) & vbcrlf

' 关闭并清除对象
file.close
set file = nothing
set fso = nothing

看看上面,OpenTextFile方法返回了一个TS对象,TS对象提供了例如Write,ReadLine,SkipLine等一系列的方法来操作文件内容。VB常量vbcrlf是换行符。

本内容共4页  首 页  上一页  下一页  尾 页  当前在第1

Google
 
Web www.cqxw.net