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