主页|美高梅线路检测中心|澳门美高梅线上娱乐|www.303.net|美高梅官网
当前位置: > 美高梅线路检测中心 > 正文

现在ASP网页在上传图片时大部分都是用无组件上传美高梅线路检测中心

  • 日期:2017-05-16   点击:   作者:admin   来源:未知  

现在ASP网页在上传图片时大部分都是用无组件上传,把图片上传到一个文件夹,然后把路径保存到数据库一个字段中,那么在删除记录时只是把相应的数据库记录删除掉了,相关的图片还会保留在服务器的文件下,会有好多无用的图片占用着空间,想删除记录时把相关图片也删掉怎么办?以下代码可以实现,但必须服务器得支持FSO组件(大多数服务器都可用)

删除图片函数,当然也可以删除其它文件了

<%
Function DeleteFile(FileName)
FileName=server.MapPath(FileName) '必须转换成绝对路径的
dim Fso
Set Fso = CreateObject("scripting.filesystemobject")
if Fso,美高梅线路检测中心.FileExists(Filename) then '判断文件是否存在
Fso.DeleteFile filename
end if
Set Fso = nothing
End Function
%>

比如说:你的数据库中news表字段PIC存放着图片路径,删除时不要用直接的删除sql语句了,美高梅线路检测中心,那样无法获取PIC值

<%
id=request("id")
set rs=server.createobject("adodb.recordset")
sql="select * from news where id="&id
rs.open sql,conn,1,3
DeleteFile(rs("pic"))
rs.delete
rs.update
rs.close
set rs=nothing
%>

如果批量删除记录可以做循环调用DeleteFile函数

<%
id=request("id")
set rs=server.createobject("adodb.recordset")
sql="select * from news where id in('"&id&"')'不止一个ID
rs.open sql,conn,1,3
do while not rs.eof
DelFile(rs("pic"))
rs.delete
rs.movenext
loop
rs.update
rs.close
set rs=nothing
%>

本删除适合表中PIC字段只存放一张图片的情况下删除文章同时删除图片,如果多个字段中存放图片,可以在DelFile(rs("pic"))接着加DelFile(rs("pic1")),DelFile(rs("pic2")),美高梅线路检测中心