FSO
在ASP中,F(xiàn)SO的意思是File System Object,即文件系統(tǒng)對(duì)象。我們將要操縱的計(jì)算機(jī)文件系統(tǒng),在這里是指位于web服務(wù)器之上。所以,確認(rèn)你對(duì)此擁有合適的權(quán)限。理想情況下,你可以在自己的機(jī)器上建立一個(gè)web服務(wù)器,這樣就能方便地進(jìn)行測(cè)試。如果運(yùn)行于Windows平臺(tái),請(qǐng)?jiān)囈辉囄④浌镜拿赓M(fèi)個(gè)人Web服務(wù)器PWS。
FSO 模型對(duì)象[ ]
- Drive Object:驅(qū)動(dòng)器對(duì)象 供存取磁盤或者網(wǎng)絡(luò)驅(qū)動(dòng)器
- FileSystemObject Object:文件系統(tǒng)對(duì)象 供存取計(jì)算機(jī)的文件系
- Folder Object:文件夾對(duì)象 供存取文件夾的所有屬性
- TextStream Object:文本流對(duì)象 供存取文件內(nèi)容
FSO使用[ ]
為了使用FSO來執(zhí)行所有的工作,首先要?jiǎng)?chuàng)建對(duì)象,代碼就象下面這樣:
< % Set fso = Server.CreateObject("Scripting.FileSystemObject") % >
這樣就建立了FSO并且賦予變量fso,接著就可以使用熟悉的object.method語法來執(zhí)行文件系統(tǒng)的操作〔查看Visual Basic文檔,獲取更多的關(guān)于對(duì)象和對(duì)象向?qū)Ь幊痰闹R(shí)〕。在這里,我們可以使用fso.method 或者 fso.property,這些將在下面的例子中看到。
FSO模型位于由微軟提供的腳本運(yùn)行時(shí)間DLL文件中,它是scrrun.dll。你可以在任何應(yīng)用程序中引用這個(gè)DLL文件,比如MS Access,Word。 就是說,并非僅僅限制在ASP中應(yīng)用它。
FSO開關(guān)命令[ ]
FSO 關(guān)閉命令 regsvr32.exe /u %windir%/system32/scrrun.dll FSO 打開命令 regsvr32.exe %windir%/system32/scrrun.dll
FSO方法列表[ ]
- CopyFile 拷貝一個(gè)或者多個(gè)文件到新路徑
- CreateTextFile 創(chuàng)建文件并且返回一個(gè)TextStream對(duì)象
- DeleteFile 刪除一個(gè)文件
- OpenTextFile 打開文件并且返回TextStream對(duì)象,以便讀取或者追加。如果想了解完整的FSO方法與屬性,請(qǐng)查閱微軟MSDN。
FSO作用[ ]
- 權(quán)限許可
- 文件讀取
- 寫文件
- 使用FSO判斷文件是否存在
- 使用FSO進(jìn)行搜索
- 使用FSO進(jìn)行內(nèi)容管理
FSO不能做到的[ ]
FSO確實(shí)存在一些弱點(diǎn) - 比如,它很難處理二進(jìn)制文件,這包括Word文檔、許多圖形格式的文件和其他一些文件。然而你仍然可以用其他的方式操作這些文件 - 移動(dòng)它們、刪除它們,等等。你不能做的就是對(duì)它們進(jìn)行打開或者寫操作。
另外一個(gè)限制是對(duì)于文件長度的問題。當(dāng)立刻讀寫一些內(nèi)容時(shí),所有的信息都存儲(chǔ)在內(nèi)存中 - 內(nèi)容越多,消耗的內(nèi)存就越大。這將使每個(gè)工作都變得慢起來。所以,如果需要操作非常大的文件,或者大量的小文件時(shí),考慮將文件分割成小塊,并且經(jīng)常的清除內(nèi)存。將應(yīng)用程序融入進(jìn)COM對(duì)象組件,也能大大地提高程序的速度。
同樣,你也不能使用FSO來管理權(quán)限以及文件、文件夾的屬性,執(zhí)行安全加密的一個(gè)很好方法就是將前面提到的留言簿文件設(shè)置為只讀,在需要時(shí)再設(shè)置為可寫,然后再修改回來。這個(gè)方法經(jīng)常在CGI和Perl使用,但是很不幸,還沒有令人滿意的方法來用FSO實(shí)現(xiàn)。