เพื่อให้บรรลุการลบบันทึกและการลบรูปภาพในเวลาเดียวกัน โดยทั่วไปเพื่อประสิทธิภาพการทำงาน ตัวแก้ไขจึงใช้เพื่อบันทึกรูปภาพในบทความในช่องเดียว รูปภาพหลายรูปจะถูกคั่นด้วยเครื่องหมายจุลภาคเพื่ออำนวยความสะดวกในการประมวลผลการลบในภายหลัง วิธีแรก: นี่คือโค้ดสำหรับลบรูปภาพแบบช่องเดียว ค่อนข้างง่าย เนื่องจากฟิลด์รูปภาพมีอยู่แล้วในฟิลด์ bookpic ของตารางฐานข้อมูล
คัดลอกรหัสรหัสดังต่อไปนี้:
<!--#include file=conn.asp-->
-
fileid=trim(request(fileid))'ID ของบันทึกที่ต้องการลบ
ตั้งค่า rs=server.createobject (adodb.recordset)
sql=select * จาก shop_books โดยที่ bookid=3090
rs.open sql,conn,3,2
upfile=rs(bookpic) 'พร้อมพาธและชื่อไฟล์'
ตั้งค่า fso=server.CreateObject (scripting.filesystemobject)
fso.deletefile (เซิร์ฟเวอร์ MapPath (upfile))
ตั้งค่า fso=nothing
rs.ลบ
อาร์เอสอัปเดต
RS.ปิด
ตั้งค่า rs=nothing
-
วิธีที่สอง: สำหรับหลายภาพ
ภายใต้โปรแกรม ASP คุณสามารถใช้ ewebeditor เมื่อเพิ่มข้อมูล ซึ่งสามารถแยกรูปภาพของบทความและใส่ลงในช่องได้
คัดลอกรหัสรหัสดังต่อไปนี้:
Id=คำขอ(รหัส)
ถ้า Id= แล้ว
Response.Write(<script>alert('การดำเนินการลบล้มเหลว: โปรดเลือกข้อมูลที่จะลบ!'); hitory.go(-1);</script>)
อื่น
Id=แยก(Id,,)
สำหรับ i=0 ถึง UBound(Id)
ตั้งค่า oRs=Server.CreateObject (Adodb.recordset)
sSql = เลือก D_SavePathFileName จาก &data& โดยที่ ID=&id(i)&
หรือเปิด sSql, Conn, 0, 1
ถ้าไม่เช่นนั้น
asSavePathFileName = oRs(D_SavePathFileName)
อื่น
asSavePathFileName=
สิ้นสุดถ้า
หรือปิด
ตั้งค่า oRs=ไม่มีอะไร
หรี่ aSavePathFileName
ถ้า len(aSavePathFileName)>0 แล้ว
aSavePathFileName = แยก (asSavePathFileName, |)
ดิม น
สำหรับ n = 0 ถึง UBound (aSavePathFileName)
'ลบไฟล์ตามชื่อไฟล์พาธ
โทร DoDelFile (aSavePathFileName (n))
ต่อไป
'ลบบทความ www.vevb.com'
Conn.Execute(ลบออกจากบทความโดยที่ id=&id(i)&)
ต่อไป
สิ้นสุดถ้า
ย่อย DoDelFile (sPathFile)
'เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป'
ติ่มซำ oFSO
ตั้งค่า oFSO = Server.CreateObject (Scripting.FileSystemObject)
ถ้า objFSO.fileExists(Server.MapPath(sPathFile)) แล้ว
oFSO.DeleteFile (เซิร์ฟเวอร์ MapPath (sPathFile))
สิ้นสุดถ้า
ตั้งค่า oFSO = ไม่มีเลย
จบหมวดย่อย