<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Conndb.asp"-->
<%Sub DelSpilthFile(Table,tField,FilePath)
'***********************************************
'过程名:DelSpilthFile
'作 用:删除数据库里冗余的上传文件
'参 数:Table:数据表
' tField:图片字段名
' FilePath:图片相对文件夹
'***********************************************
Dim FileUrl,fso,f,fc,fi,fu,ff,fb
sql = "Select * From [" & Table & "]"
Set Rs = Server.CreateObject("Adodb.RecordSet")
Rs.Open sql,conn,1,1
Do While Not Rs.Eof
fb = Split(tField,",")
For Each ff in fb
If Rs(ff) <> "" and Not IsNull(Rs(ff)) Then
fu = fu & Rs(ff)
fu = fu & "|"
End If
Next
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
FileUrl = Server.MapPath(FilePath)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(FileUrl)
Set fc = f.Files
For Each fi in fc
If InStr(fu,fi.name & "|") = 0 Then
If fso.FileExists(fi) Then
fso.DeleteFile(fi) '删除文件
End If
End If
Next
Set fso = Nothing
Set f = Nothing
Set fc = Nothing
End Sub
%>
Example:
<% Call DelSpilthFile("product","DefaultPicUrl","../UpLoadFiles/") %>