Tc711Com提示:ASP删除记录同时删除图片代码 |
现在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
DeleteFile(rs("pic"))
rs.delete
rs.movenext
loop
rs.update
rs.close
set rs=nothing
%>
本删除适合表中PIC字段只存放一张图片的情况下删除文章同时删除图片,如果多个字段中存放图片,可以在DeleteFile(rs("pic"))接着加DeleteFile(rs("pic1")),DeleteFile(rs("pic2"))。
更多的ASP删除记录同时删除图片代码请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2012-7-29