|
FSO的相关知识
什么是FSO
FSO是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及如何建立网站文件的操作。是ASP编程中非常有用的一个控件。但是因为权限控制的问题,造成了装有FSO的服务器会有安全漏洞,因为客户可以在自己的ASP网页里面直接就对该控件编程,从而控制该服务器甚至删除服务器上的文件。因此不少业界的虚拟主机提供商都干脆关掉了这个控件,让客户少了很多灵活性。我要安家的W2K虚拟主机服务器具有高安全性,可以让客户在自己的网站空间中任意使用却有没有办法危害系统或者妨碍其他客户网站的正常运行。
FSO模型对象
DriveObject:驱动器对象供存取磁盘或者网络驱动器
FileSystemObjectObject:文件系统对象供存取计算机的文件系统
FolderObject:文件夹对象供存取文件夹的所有属性
TextStreamObject:文本流对象供存取文件内容
FSO不常用的功能
FSO还有一些其它的功能,我们很少用到,但是却有时又需要。我们就来了解一下很少被了解的FSO功能
GetSpecialFolderMethod返回特定的Windows文件夹的路径:Windows安装目录;Windows系统目录;Windows临时目录FSO.GetSpecialFolder([0,1,or2])
GetTempNameMethod返回一个随机产生的文件或者目录名字,用于需要存储临时数据时。比如,FSO.GetAbsolutePathName("region")将返回类似于下面的结果:"c:mydocsmyfolderegion"
GetExtensionNameMethod返回路径中最后部分的扩展名
(比如:FSO.GetExtensionName("c:docsest.txt")将返回txt)
GetBaseNameandGetParentFolderMethods返回路径中最后部分的父文件夹(比如:FSO.GetParentFolder("c:docsmydocs")将返回’docs’)
DrivesProperty返回所有本地可用驱动器的集合,用于建立资源浏览器样的用户接口。
使用上面的功能时,最好建立好出错处理的代码。因为如果需要的参数不存在,将会产生麻烦的信息。
哪些是FSO不能做到的
它很难处理二进制文件,这包括Word文档、许多图形格式的文件和其他一些文
件。然而你仍然可以用其他的方式操作这些文件-移动它们、删除它们,等等。你不能做的就是对它们进行打开或者写操作。
另外一个限制是对于文件长度的问题。当立刻读写一些内容时,所有的信息都存储在内存中。内容越多,消耗的内存就越大。这将使每个工作都变得慢起来。所以,如果需要操作非常大的文件,或者大量的小文件时,考虑将文件分割成小块,并且经常的清除内存。将应用程序融入进COM对象组件,也能大大地提高程序的速度。
同样,你也不能使用FSO来管理权限以及文件、文件夹的属性,执行安全加密的一个很好方法就是将前面提到的留言簿文件设置为只读,在需要时再设置为可写,然后再修改回来。这个方法经常在CGI和Perl使用,但是很不幸,还没有令人满意的方法来用FSO实现。
|
|