主頁(yè) > 知識(shí)庫(kù) > 使用FSO修改文件夾的名稱實(shí)現(xiàn)文件轉(zhuǎn)移防盜鏈

使用FSO修改文件夾的名稱實(shí)現(xiàn)文件轉(zhuǎn)移防盜鏈

熱門(mén)標(biāo)簽:電銷(xiāo)機(jī)器人源碼網(wǎng)盤(pán)下載 福建外呼增值業(yè)務(wù)線路 伊春外呼業(yè)務(wù)系統(tǒng) 電銷(xiāo)機(jī)器人教育 宜賓語(yǔ)音外呼系統(tǒng)軟件 綿陽(yáng)防封電銷(xiāo)卡價(jià)格 中國(guó)辦理電信400電話 河北智能外呼系統(tǒng)軟件 調(diào)度系統(tǒng)外呼
那天突然的一個(gè)靈感,是針對(duì)防盜鏈的

正常上傳的文件,若被人盜鏈則增加了自己服務(wù)器的負(fù)擔(dān),上次164.cc就因此被掛

然后想想對(duì)策,目前各類(lèi)防盜鏈程序也不少,不過(guò)使用也并不簡(jiǎn)單,還有就是不能免費(fèi)……

所以,只有自己先想辦法。那么,現(xiàn)在看看標(biāo)題,再想想防盜鏈,或許就有些眉目了

我可以不定時(shí)的修改上傳文件所在的文件夾名稱,而本站程序是動(dòng)態(tài)獲得文件夾名稱,這樣原先盜用本站文件的站點(diǎn)會(huì)因路徑的錯(cuò)誤而找不到文件,從而也就實(shí)現(xiàn)了防盜鏈。
那么,如何使用FSO修改文件夾的名稱呢?
一個(gè)簡(jiǎn)單的函數(shù):
復(fù)制代碼 代碼如下:


Function fldrename(nowfld,newfld) 
nowfld=server.mappath(nowfld) 
newfld=server.mappath(newfld) 

Set fso = CreateObject("Scripting.FileSystemObject") 
if not fso.FolderExists(nowfld) then 
    response.write("需要修改的文件夾路徑不正確或文件夾名稱輸入錯(cuò)誤") 
else 
    fso.CopyFolder nowfld,newfld 
    fso.DeleteFolder(nowfld) 
end if 
set fso=nothing 

End Function 
%> 


總的來(lái)說(shuō)就是拷貝當(dāng)前文件夾的內(nèi)容到新的文件夾中,然后再刪除該文件夾內(nèi)容,從而間接達(dá)到文件夾改名的目的。

這是一個(gè)偏執(zhí)狂問(wèn)題,因?yàn)樾薷奈募A名稱,尤其是要修改名稱的該文件夾內(nèi)容是G量時(shí),這個(gè)等待的時(shí)間相對(duì)FTP遠(yuǎn)程修改名稱就有點(diǎn)不劃算了。

有人說(shuō)FSO可不可以直接修改文件夾名稱呢?吾莫之。

應(yīng)用該函數(shù)
%call fldrename("ex01","ex02")%>  

基本意思即將與程序執(zhí)行文件在同一目錄下的 ex01 文件夾名稱修改為 ex02

下面是我在本地的測(cè)試情況通報(bào):

1,本程序不消耗程序執(zhí)行時(shí)間

2,執(zhí)行1G文件夾間接改名時(shí)間需要50秒左右,其實(shí)也就是服務(wù)器端的文件復(fù)制轉(zhuǎn)移時(shí)間

3,CPU消耗不算太高,30%左右

4,若在改名中間突然死機(jī)或掉電,則發(fā)生兩種情況:

    a,新文件夾被建立初期(新文件夾并未建好),下次執(zhí)行程序,會(huì)發(fā)生 錯(cuò)誤類(lèi)型:Microsoft VBScript 運(yùn)行時(shí)錯(cuò)誤 (0x800A003A)文件已存在,此時(shí)只能FTP刪除新文件夾再執(zhí)行(嘗試使用FSO刪除新文件夾并未湊效)。

    b,已經(jīng)復(fù)制了部分文件,下次執(zhí)行程序,自動(dòng)覆蓋已復(fù)制的文件夾內(nèi)容,原文件夾內(nèi)容依然存在。只有在復(fù)制完畢后,才會(huì)將原文件夾及其文件刪除。

5,同時(shí)需要注意新文件夾的名稱,避免和已有文件夾名稱重名,當(dāng)然也可用程序判斷
復(fù)制代碼 代碼如下:


Function fldrename(nowfld,newfld) 

nowfld=server.mappath(nowfld) 
newfld=server.mappath(newfld) 

Set fso = CreateObject("Scripting.FileSystemObject") 
if not fso.FolderExists(nowfld) then 
    response.write("需要修改的文件夾路徑不正確或文件夾名稱輸入錯(cuò)誤") 
else 
    if fso.FolderExists(newfld) then  
        response.write("您命名的新文件夾名稱已經(jīng)存在") 
    else 
        fso.CopyFolder nowfld,newfld 
        fso.DeleteFolder(nowfld) 
    end if 
end if 
set fso=nothing 

End Function 
%>   

6,若在修改文件夾名稱的同時(shí),文件夾內(nèi)有數(shù)據(jù)庫(kù)相關(guān)操作、音樂(lè)文件正在被播放,則顯示為Microsoft VBScript 運(yùn)行時(shí)錯(cuò)誤 (0x800A0046)沒(méi)有權(quán)限,主要即是刪除原有文件夾出現(xiàn)的問(wèn)題(音樂(lè)文件已被刪除、但文件夾未能被刪除)。只有FTP登錄處理了。若本文件夾為全圖片文件則可以運(yùn)行成功。
您可能感興趣的文章:
  • asp fso操作類(lèi)
  • asp結(jié)合fso實(shí)現(xiàn)文件或文件夾創(chuàng)建刪除等操作的函數(shù)
  • asp下利用fso實(shí)現(xiàn)文件夾或文件移動(dòng)改名等操作函數(shù)
  • fso asp生成靜態(tài)html的代碼
  • ASP+FSO可視化目錄編歷(可增、刪、改)下載
  • asp下用ADODB.Stream代替FSO讀取文本文件
  • 設(shè)置FSO權(quán)限功能的說(shuō)明
  • ASP FSO文件操作函數(shù)代碼(復(fù)制文件、重命名文件、刪除文件、替換字符串)

標(biāo)簽:那曲 優(yōu)質(zhì)小號(hào) 新鄉(xiāng) 電商邀評(píng) 河池 蘇州 銅川 延邊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用FSO修改文件夾的名稱實(shí)現(xiàn)文件轉(zhuǎn)移防盜鏈》,本文關(guān)鍵詞  使用,FSO,修改,文件夾,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用FSO修改文件夾的名稱實(shí)現(xiàn)文件轉(zhuǎn)移防盜鏈》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于使用FSO修改文件夾的名稱實(shí)現(xiàn)文件轉(zhuǎn)移防盜鏈的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章