建站常识

asp删除数据库中未记录的图片

发布时间 | 2017/2/19  点击 | 

该代码已调试通过,要注意你必须有upload路径的写入权限
'连接数据库,读取图片路径,数据库名:notes.mdb,表名:table1,改成你自己的
Dim conn,connstr,rs,sql
Set conn=server.createobject("ADODB.Connection")
connstr="provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("notes.mdb")
conn.Open connstr
set rs=server.CreateObject("adodb.recordset")
sql="select Pic from table1"
rs.open sql,conn,1,1
'读取/upfile文件夹下的所有文件名
Dim objFSO,objFolder,objFile,FF
FF = Server.MapPath("upfile/")
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(ff) Then
Set objFolder = objFSO.GetFolder(ff)
'遍历upfile/下的所有文件夹
For Each subFolder in objFolder.SubFolders
'遍历所有文件
For Each objFile in subFolder.Files
'去除部分路径
strFile=replace(right(objFile,len(objFile)-instr(objFile,"upfile")-7),"","/")
Response.Write(strFile)
rs.filter="Pic='"&strFile&"'"
if rs.eof then
'文件在数据库中没有找到,直接删除。
'如果需要先显示确认后再删除,在这里把需要删除的文件加入一个数组,后再做操作。
filename=objFile.name
objFile.Delete
Response.Write(filename&"已删除")
end if
Next
Next
Else
Response.Write"文件夹"&ff&"不存在,无法读取相关信息!"
End If
Set objFolder = Nothing
Set objFSO = Nothing
rs.Close
Set rs = nothing

相关信息