FSO
在ASP中,FSO的意思是File System Object,即文件系统对象。我们将要操纵的计算机文件系统,在这里是指位于web服务器之上。所以,确认你对此拥有合适的权限。理想情况下,你可以在自己的机器上建立一个web服务器,这样就能方便地进行测试。如果运行于Windows平台,请试一试微软公司的免费个人Web服务器PWS。
FSO 模型对象[ ]
- Drive Object:驱动器对象 供存取磁盘或者网络驱动器
- FileSystemObject Object:文件系统对象 供存取计算机的文件系
- Folder Object:文件夹对象 供存取文件夹的所有属性
- TextStream Object:文本流对象 供存取文件内容
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 关闭命令 regsvr32.exe /u %windir%/system32/scrrun.dll FSO 打开命令 regsvr32.exe %windir%/system32/scrrun.dll
FSO方法列表[ ]
- CopyFile 拷贝一个或者多个文件到新路径
- CreateTextFile 创建文件并且返回一个TextStream对象
- DeleteFile 删除一个文件
- OpenTextFile 打开文件并且返回TextStream对象,以便读取或者追加。如果想了解完整的FSO方法与属性,请查阅微软MSDN。
FSO作用[ ]
- 权限许可
- 文件读取
- 写文件
- 使用FSO判断文件是否存在
- 使用FSO进行搜索
- 使用FSO进行内容管理
FSO不能做到的[ ]
FSO确实存在一些弱点 - 比如,它很难处理二进制文件,这包括Word文档、许多图形格式的文件和其他一些文件。然而你仍然可以用其他的方式操作这些文件 - 移动它们、删除它们,等等。你不能做的就是对它们进行打开或者写操作。
另外一个限制是对于文件长度的问题。当立刻读写一些内容时,所有的信息都存储在内存中 - 内容越多,消耗的内存就越大。这将使每个工作都变得慢起来。所以,如果需要操作非常大的文件,或者大量的小文件时,考虑将文件分割成小块,并且经常的清除内存。将应用程序融入进COM对象组件,也能大大地提高程序的速度。
同样,你也不能使用FSO来管理权限以及文件、文件夹的属性,执行安全加密的一个很好方法就是将前面提到的留言簿文件设置为只读,在需要时再设置为可写,然后再修改回来。这个方法经常在CGI和Perl使用,但是很不幸,还没有令人满意的方法来用FSO实现。