国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

使用FSO修改文件夾的名稱實現文件轉移防盜鏈

2024-05-04 11:00:53
字體:
來源:轉載
供稿:網友
那天突然的一個靈感,是針對防盜鏈的

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

然后想想對策,目前各類防盜鏈程序也不少,不過使用也并不簡單,還有就是不能免費……

所以,只有自己先想辦法。那么,現在看看標題,再想想防盜鏈,或許就有些眉目了

我可以不定時的修改上傳文件所在的文件夾名稱,而本站程序是動態獲得文件夾名稱,這樣原先盜用本站文件的站點會因路徑的錯誤而找不到文件,從而也就實現了防盜鏈。
那么,如何使用FSO修改文件夾的名稱呢?
一個簡單的函數:
復制代碼 代碼如下:
<% 
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("需要修改的文件夾路徑不正確或文件夾名稱輸入錯誤") 
else 
    fso.CopyFolder nowfld,newfld 
    fso.DeleteFolder(nowfld) 
end if 
set fso=nothing 

End Function 
%> 


總的來說就是拷貝當前文件夾的內容到新的文件夾中,然后再刪除該文件夾內容,從而間接達到文件夾改名的目的。

這是一個偏執狂問題,因為修改文件夾名稱,尤其是要修改名稱的該文件夾內容是G量時,這個等待的時間相對FTP遠程修改名稱就有點不劃算了。

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

應用該函數
<%call fldrename("ex01","ex02")%>  

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

下面是我在本地的測試情況通報:

1,本程序不消耗程序執行時間

2,執行1G文件夾間接改名時間需要50秒左右,其實也就是服務器端的文件復制轉移時間

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

4,若在改名中間突然死機或掉電,則發生兩種情況:

    a,新文件夾被建立初期(新文件夾并未建好),下次執行程序,會發生 錯誤類型:Microsoft VBScript 運行時錯誤 (0x800A003A)文件已存在,此時只能FTP刪除新文件夾再執行(嘗試使用FSO刪除新文件夾并未湊效)。

    b,已經復制了部分文件,下次執行程序,自動覆蓋已復制的文件夾內容,原文件夾內容依然存在。只有在復制完畢后,才會將原文件夾及其文件刪除。

5,同時需要注意新文件夾的名稱,避免和已有文件夾名稱重名,當然也可用程序判斷
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广州市| 报价| 珲春市| 奉新县| 瑞丽市| 景泰县| 景谷| 安达市| 阿拉善盟| 英超| 吴忠市| 榆社县| 和田市| 吉隆县| 辽阳县| 顺义区| 彩票| 土默特左旗| 阿鲁科尔沁旗| 砀山县| 三原县| 大荔县| 廊坊市| 贵南县| 永新县| 镇原县| 安徽省| 嘉黎县| 徐州市| 交口县| 南安市| 正定县| 屯门区| 额敏县| 桂林市| 泰宁县| 彭山县| 岢岚县| 蒲城县| 普宁市| 丰城市|