ASP การลบรูปภาพที่ไม่ได้บันทึกไว้ต้องใช้การวนซ้ำสองครั้งเพื่อเปรียบเทียบแต่ละรูปภาพในโฟลเดอร์ (โฟลเดอร์ที่เก็บรูปภาพ) กับบันทึกทั้งหมดในฐานข้อมูล แบ่งรูปภาพและถามชื่อส่วนแรก แล้วเปรียบเทียบกับบันทึกเส้นทางรูปภาพในฐานข้อมูลที่เหลือ
หากมีฟังก์ชัน InStr ของ vb ค่าที่ส่งคืนจะเป็น >0 และคุณสามารถสรุปผลได้
รหัสจะเป็นดังนี้ deal.asp
คัดลอกรหัสรหัสดังต่อไปนี้:
<%@ ภาษา=vbscript%>
<%response.หมดอายุ = 0%>
<!--#include file=conn.asp-->
-
Dim objFSO, objFolder, objFile, FF 'ประกาศตัวแปร objFSO เพื่อจัดเก็บอินสแตนซ์ของวัตถุ
FF = เซิร์ฟเวอร์ MapPath (pro_s/)
ตั้ง objFSO = Server.CreateObject (Scripting.FileSystemObject)
ถ้า objFSO.FolderExists(ff) แล้ว
Response.write ไฟล์ทั้งหมดในโฟลเดอร์ &ff&:<br>
ตั้งค่า objFolder = objFSO.GetFolder(ff)
สำหรับแต่ละ objFile ใน objFolder.Files
-
-
ชื่อไฟล์=cstr(objFile.name)
myname=split(ชื่อไฟล์,.)
ffname=ชื่อของฉัน(0)
ก=0
ตั้งค่า sclass=conn.execute (เลือก img จาก wksc_pro)
ทำในขณะที่ไม่ใช่ sclass.eof
ผลลัพธ์=Instr(sclass(img),ffname)
a=a+ผลลัพธ์
ถ้า(a>0) แล้ว
ออกทำ
สิ้นสุดถ้า
sclass.movenext
วนซ้ำ
ถ้า(a=0) แล้ว
การตอบสนอง เขียน &objFile&
ตอบกลับเขียน<br>
objFile.ลบ
สิ้นสุดถ้า
-
-
ต่อไป
อื่น
Response.Write โฟลเดอร์ &ff& ไม่มีอยู่ และข้อมูลที่เกี่ยวข้องไม่สามารถอ่านได้!
สิ้นสุดถ้า
ตั้ง objFolder = ไม่มีเลย
ตั้ง objFSO = ไม่มี 'ปล่อยพื้นที่หน่วยความจำอินสแตนซ์วัตถุ FileSystemObject
-