≮海浪轻风≯

笑对人生,珍惜所有!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP里如何用FSO删除图片

Posted on 2007-08-07 17:22  ≮海浪轻风≯  阅读(578)  评论(2)    收藏  举报

网上摘录作为参考:

<%
c_id = request.querystring("c_id")
sql = "Select * from c_news where c_id="&c_id
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open sql,conn,2,3
filepath=rs("c_filepath")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile(Server.mappath(filepath))
Set fso = nothing
rs.delete
rs.close 
Set rs = Nothing
conn.close
set conn=nothing
%>


用FileSystemObject对象的FileExists方法。
这样的操作封装成一个过程会更好
sub DeleteFile(path)
path = server.mappath(path)
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(path) Then fso.DeleteFile(path)
set fso=nothing
end sub
参数说明:path为要删除的文件的虚目录,如果是实路径,请修改DeleteFile中的相关代码
调用说明:
DeleteFile "../mypic/pic.jpg"
或 DeleteFile mypic_Path 
====================================================================
一:物理路径

<%
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile "c:\pic\1.jpg"
%>

二:如果是相对路径

<%
set fso=Server.CreateObject("scripting.filesystemobject")
fileName="../pic/a.jpg"
myFile=Server.MapPath(fileName)
if fso.FileExists(myFile) then
fso.DeleteFile myFile
end if
set fso=Nothing

%>
==================================================

可同时删除多条记录,多张图片!

去时Set Rs=Server.CreateObject("ADODB.Recordset")
Rs.Open     "Select *     from 表名 where id in ("&读取ID&")",conn,1,3
Set Fso = Server.CreateObject("Scripting.FilesystemObject")
Do While Not Rs.eof '循环所有满足条作记录
      ImgPathx = Server.MapPath("../"&Rs("picx"))'获取图片实际路径小图
      ImgPathd = Server.MapPath("../"&Rs("picd"))'获取图片实际路径大图
      if (fso.fileexists(imgpathx) or fso.fileexists(imgpathd)) = true     Then'图片存在时删图片
          Fso.deletefile (imgpathx)
          Fso.deletefile (imgpathd)
      End If
      rs.delete
      rs.update
Rs.MoveNext
Loop
Rs.Close
Set Rs=Nothing