asp批量删除图片。
近日在做一个产品展示的网站,发现批量删除数据库中的记录后,图片还在空间,时间久了空间肯定会变小了。想想不太好。所以想了个办法在批量删除记录的同时,将相应产品的图片一起删除。首先上传图片的时候将图片路径写进这数据库的某个字段(如表为:sample 字段为:pic)
asp高手就不用看下去了。这只适合有一定的asp基础者看。哈哈~!

函数:function.asp
<%
'以下是删除记录函数,引用示例: call del("products","1","products.asp") 。就是删除products表中的第一条记录,删后跳转
products.asp
dim delid,bound
sub del(biao,id,url)
delid=split(id,",")
bound=ubound(delid)
for i=0 to bound
if id<>"" then
conn.execute("delete from "&biao&" where id="&delid(i))
end if
next
response.redirect(url)
end sub
'以下是删除文件或图片函数
sub delfile(fname)
delfname=split(fname,", ")'分割字符,放到数组delfname中
bound=ubound(delfname)
for i=0 to bound
if fname<>"" then
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(Server.mappath("../upfiles/"&delfname(i))) then '检查是否存在
fso.DeleteFile(Server.mappath("../upfiles/"&delfname(i)))'如果存在则执行删除
set fso=nothing
end if
end if
next
end sub
%>
产品展示:products.asp
<!--#include file = "function.asp"-->
<%
if request("del")="ok" then
pic=request("pic")
call delfile(pic)
response.redirect("products.asp")
end if
set conn = Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("sample.mdb")
conn.Open connstr
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from products"
rs.open sql,conn,1,1
%>
<form name="form1" method="post" action="products.asp?del=ok">
<%
while not rs.eof
%>
<input name="pic" type="text" id="pic" value="<%=rs("pic")%>">
<%
rs.movenext
wend
%>
<input type="submit" name="Submit2" value="删除">
</form>
这只是一个简单的示例,只是让大家明白这个原理。