|
|
|
FSO(FileSystemObject)是微軟ASP的一個(gè)對文件操作的控件,該控件可以對服務(wù)器進(jìn)行讀取、新建、修改、刪除目錄以及文件的操作。是ASP編程中非常有用的一個(gè)控件。但是因?yàn)闄?quán)限控制的問題,很多虛擬主機(jī)服務(wù)器的FSO反而成為這臺服務(wù)器的一個(gè)公開的后門,因?yàn)榭蛻艨梢栽谧约旱腁SP網(wǎng)頁里面直接就對該控件編程,從而控制該服務(wù)器甚至刪除服務(wù)器上的文件。因此不少業(yè)界的虛擬主機(jī)提供商都干脆關(guān)掉了這個(gè)控件,讓客戶少了很多靈活性。可以讓客戶在自己的網(wǎng)站空間中任意使用,卻沒有辦法危害系統(tǒng)或者妨礙其他客戶網(wǎng)站的正常運(yùn)行。
文件系統(tǒng)對象FSO的英文全稱是File System Object ,這種對象模型提出了有別于傳統(tǒng)的文件操作語句處理文件和文件夾的方法。通過采用object.method這種在面向?qū)ο缶幊讨袕V泛使用的語法,將一系列操作文件和文件夾的動(dòng)作通過調(diào)用對象本身的屬性直接實(shí)現(xiàn)。
FSO 對象模型不僅可以象使用傳統(tǒng)文件操作語句那樣實(shí)現(xiàn)文件的創(chuàng)建、改變、移動(dòng)和刪除,而且可以檢測是否存在指定的文件夾,如果存在,那么,這個(gè)文件夾又位于磁盤上的什么位置。更令人高興的是FSO 對象模型還可以獲取關(guān)于文件和文件夾的信息,如名稱、創(chuàng)建日期或最近修改日期等以及當(dāng)前系統(tǒng)中使用的驅(qū)動(dòng)器的信息,如驅(qū)動(dòng)器的種類是CD-ROM還是可移動(dòng)磁盤,當(dāng)前磁盤的剩余空間還有多少。而以前要獲取這些信息必須通過調(diào)用Windows API函數(shù)集中的相應(yīng)函數(shù)才能實(shí)現(xiàn)。
FSO對象模型包含在Scripting 類型庫 (Scrrun.Dll)中,它同時(shí)包含了Drive、Folder、File、FileSystemObject和TextStream五個(gè)對象。其中Drive用來收集驅(qū)動(dòng)器的信息,如可用磁盤空間或驅(qū)動(dòng)器的類型;Folder用于創(chuàng)建、刪除或移動(dòng)文件夾,同時(shí)可以進(jìn)行向系統(tǒng)查詢文件夾的路徑等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是針對磁盤上的文件進(jìn)行的;FileSystemObject是FSO對象模型中最主要對象,它提供了一套完整的可用于創(chuàng)建、刪除文件和文件夾,收集驅(qū)動(dòng)器、文件夾、文件相關(guān)信息的方法。需要注意的是,F(xiàn)SO對象模型提供的方法是冗余的,也就是說在實(shí)際使用中,F(xiàn)SO對象模型中包含的不同對象的不同方法進(jìn)行的卻是同樣的操作,而且FileSystemObject對象的方法直接作用于其余對象,所以在后面的文章中并沒有單獨(dú)提到FileSystemObject對象,千萬不要以為沒有提到就不重要,事實(shí)上FileSystemObject對象在整個(gè)FSO對象模型中無處不在;最后的TextStream對象則是用來完成對文件的讀寫操作的。
|
|
|