ใน asp โดยเฉพาะอย่างยิ่งในระบบ cms ที่จำเป็นต้องสร้างไฟล์คงที่ มักจะจำเป็นต้องตัดสิน สร้าง และลบไฟล์บางไฟล์ ต่อไปนี้เป็นไฟล์บางส่วนที่ตอบสนองความต้องการขั้นพื้นฐาน
คัดลอกรหัสรหัสดังต่อไปนี้:
-
'รับคำต่อท้ายไฟล์
-
ฟังก์ชัน Get_Filetxt(ByVal t0)
สลัว t1
IF Len(t0)<2 หรือ Instr(t0,".")=0 จากนั้น Get_Filetxt=False:Exit Function
t1=แยก(t0,".")
Get_Filetxt=Lcase(t1(Ubound(t1)))
สิ้นสุดฟังก์ชัน
-
'โค้ดบริสุทธิ์เพื่ออ่านไฟล์ใด ๆ
-
ฟังก์ชั่น LoadFile (ByVal t0)
IF Len(t0)=0 จากนั้นออกจากฟังก์ชัน
ถ้า Sdcms_Cache แล้ว
หาก Check_Cache("LoadFile_"&t0) จากนั้น
Create_Cache "LoadFile_"&t0,LoadFile_Cache(t0)
สิ้นสุด ถ้า
LoadFile=Load_Cache("LoadFile_"&t0)
อื่น
LoadFile=LoadFile_Cache(t0)
สิ้นสุด ถ้า
สิ้นสุดฟังก์ชัน
ฟังก์ชั่น LoadFile_Cache (ByVal t0)
สลัว t1, stm
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
IF Len(t0)=0 จากนั้นออกจากฟังก์ชัน
t1=ว่างเปล่า
ตั้งค่า Stm=Server.CreateObject("Adodb.Stream")
ด้วยมาตรฐาน
.Type=2'อ่านในโหมดนี้
.โหมด=3
.charset=ชุดอักขระ
.เปิด
.loadfromfile เซิร์ฟเวอร์ MapPath(t0)
t1=.ข้อความอ่าน
.ปิด
จบด้วย
ตั้ง Stm=ไม่มีอะไร
ถ้าเกิดข้อผิดพลาดแล้ว
LoadFile_Cache="""&t0&"""&Err.Description:Err.Clear
อื่น
LoadFile_Cache=t1
สิ้นสุด ถ้า
สิ้นสุดฟังก์ชัน
-
'ตรวจสอบว่ามีไฟล์อยู่หรือไม่
-
ฟังก์ชั่น Check_File (ByVal t0)
ดิม เอฟ
t0=เซิร์ฟเวอร์ MapPath(t0)
ตั้งค่า Fso=CreateObject("Scripting.FileSystemObject")
Check_File=Fso.FileExists(t0)
ตั้งค่า Fso=ไม่มีอะไร
สิ้นสุดฟังก์ชัน
-
'ตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่
-
ฟังก์ชั่น Check_Folder (ByVal t0)
ดิม เอฟ
t0=เซิร์ฟเวอร์ MapPath(t0)
ตั้งค่า Fso=CreateObject("Scripting.FileSystemObject")
Check_Folder=Fso.FolderExists(t0)
ตั้งค่า Fso=ไม่มีอะไร
สิ้นสุดฟังก์ชัน
-
'สร้างโฟลเดอร์ (ไม่จำกัดระดับ)
-
ฟังก์ชั่น Create_UpFile (ByVal t0)
หรี่ t1,t2,objFSO,i
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
t0=เซิร์ฟเวอร์ MapPath(t0)
IF InStr(t0,"/")<=0 หรือ InStr(t0, "@)<=0 จากนั้น:Create_upfile=False:Exit Function
ตั้งค่า objFSO=CreateObject("Scripting.FileSystemObject")
IF objFSO.FolderExists(t0) จากนั้น:Create_upfile=True:ออกจากฟังก์ชัน
t1=แยก(t0,"/"):t2=""
สำหรับ i=0 ถึง UBound(t1)
t2=t2&t1(i)&"/"
หากไม่ใช่ objFSO.FolderExists(t2) ดังนั้น objFSO.CreateFolder(t2)
ต่อไป
ตั้งค่า objFSO=ไม่มีอะไร
ถ้า Err=0 แล้ว Create_upfile=True:Else Create_upfile=False:Echo "Create_upfile:"&Err.Description&"<br>":Err.Clear
สิ้นสุดฟังก์ชัน
บันทึกไฟล์ย่อย (ByVal t0, ByVal t1, ByVal t2)
หรี่แสง objFSO,t3
ตั้งค่า objFSO=CreateObject("Scripting.FileSystemObject")
IF t0="" จากนั้น Echo "ไดเรกทอรีไม่สามารถเว้นว่างได้!":Died
t3=เซิร์ฟเวอร์ MapPath(t0)
ถ้า t2="" หรือ IsNull(t2) แล้ว t2=""
ถ้า objFSO.FolderExists(t3)=False จากนั้น Create_upfile(t0)
BuildFile t3&"/"&ตัดแต่ง(t1),t2
ตั้งค่า objFSO=ไม่มีอะไร
จบหมวดย่อย
ฟังก์ชั่น BuildFile (ByVal t0, ByVal t1)
Dim Stm
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่า Stm=Server.CreateObject("Adodb.Stream")
ด้วยมาตรฐาน
.Type=2 'อ่านในโหมดนี้'
.โหมด=3
.ชุดอักขระ=ชุดอักขระ
.เปิด
.เขียนข้อความ t1
.SaveToFile t0,2
.ปิด
จบด้วย
ตั้ง Stm=ไม่มีอะไร
ถ้าผิดพลาดแล้วก้อง "BuildFile:"&Err.Description&"<br>":Err.Clear
สิ้นสุดฟังก์ชัน
-
'เปลี่ยนชื่อโฟลเดอร์
-
เปลี่ยนชื่อไฟล์ย่อย (ByVal t0, ByVal t1)
ดิม เอฟ
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่า Fso=Server.CreateObject("Scripting.FileSystemObject")
ถ้า Fso.FolderExists (Server.MapPath (t0)) แล้ว
Fso.MoveFolder Server.MapPath(t0),เซิร์ฟเวอร์ MapPath(t1)
สิ้นสุด ถ้า
ตั้งค่า Fso=ไม่มีอะไร
ถ้าผิดพลาดแล้วก้อง "Renamefile:"&Err.Description&"<br>":Err.Clear
จบหมวดย่อย
-
'เปลี่ยนชื่อไฟล์
-
เปลี่ยนชื่อย่อยHtml (ByVal t0, ByVal t1)
ดิม เอฟ
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่า Fso=Server.CreateObject("Scripting.FileSystemObject")
ถ้า Fso.FileExists (Server.MapPath (t0)) แล้ว
Fso.MoveFile Server.MapPath(t0),เซิร์ฟเวอร์ MapPath(t1)
สิ้นสุด ถ้า
ตั้งค่า Fso=ไม่มีอะไร
ถ้าผิดพลาดแล้วก้อง "Renamehtml:"&Err.Description&"<br>":Err.Clear
จบหมวดย่อย
-
'ลบโฟลเดอร์
-
ย่อย DelFile (ByVal t0)
ดิม เอฟโซ, เอฟ
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่า Fso=Server.CreateObject("Scripting.FileSystemObject")
ตั้งค่า F=fso.GetFolder(Server.MapPath(t0))
ถ้าไม่ใช่ IsNull(t0) ให้ F.Delete True
ถ้าผิดพลาดแล้วก้อง "Delfile:"&Err.Description&"<br>":Err.Clear
จบหมวดย่อย
-
'ลบไฟล์
-
ย่อย DelHtml(ByVal t0)
ดิม เอฟ
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่า Fso=Server.CreateObject("Scripting.FileSystemObject")
ถ้า Fso.FileExists (Server.MapPath (t0)) จากนั้น Fso.DeleteFile Server.MapPath (t0)
ถ้าผิดพลาดแล้วก้อง "DelHtml:"&Err.Description&"<br>":Err.Clear
จบหมวดย่อย
ฟังก์ชัน Re_FileName(ByVal t0)
สลัว t1
t0=Lกรณี(t0)
IF Len(t0)=0 จากนั้น Re_FileName="{id}":Exit Function
t1=ตอนนี้()
'ประมวลผลชื่อไฟล์ที่กำหนดเอง
'IF Instr(t0,"{")>0 และ Instr(t0,"}")>0 จากนั้น
'IF Instr(t0,"{id}")=0 จากนั้น
't0=t0&"{id}"' พยายามป้องกันการทำซ้ำ
'สิ้นสุดถ้า
'สิ้นสุดถ้า
t0=แทนที่(t0,"{y}",ปี(t1))
t0=แทนที่(t0,"{m}",ขวา("0"&เดือน(t1),2))
t0=แทนที่(t0,"{d}",ขวา("0"&วัน(t1),2))
t0=แทนที่(t0,"{h}",ขวา("0"&ชั่วโมง(t1),2))
t0=แทนที่(t0,"{mm}",Right("0"&นาที(t1),2))
t0=แทนที่(t0,"{s}",ขวา("0"&วินาที(t1),2))
Re_FileName=t0
สิ้นสุดฟังก์ชัน