当前位置:asp编程网>技术教程>Asp教程>  正文

asp删除文章时同时删除文章中在服务器上的图片

2011-10-21 07:29:29   来源:www.aspbc.com    作者:wangsdong   浏览量:2329   收藏

编辑器在网站开发中的作用越来越大,即可以进行文字的排版,也可以插入图片,flash,音乐,表格等信息,让页面越来越丰富。但是在删除一篇文章的同时,也需要将编辑器中的这些信息给删除,这样可以节约一点服务器空间。这里是一个asp网络编程删除文章时同时删除文章中在服务器上的图片的代码,大家可以根据这个去修改一下,删除其它内容。

<!--#include file="conn.asp"-->
<%
'***********************************************
'函数名:getPicUrl
'作  用:获得信息里的图片地址
'参  数:str  ----信息
'***********************************************

Function getPicUrl(Str)
    Dim content, regstr, url
    content = Str&""
    regstr = "src=.+?.(gif|jpg)"
    url = Replace(Replace(Replace(RegExp_Execute(regstr, content), "'", ""), """", ""), "src=", "")
    getPicUrl = url
End Function

Function RegExp_Execute(patrn, strng)
    Dim regEx, Match, Matches, values '建立变量。
    Set regEx = New RegExp '建立正则表达式。
    regEx.Pattern = patrn '设置模式。
    regEx.IgnoreCase = true '设置是否区分字符大小写。
    regEx.Global = True '设置全局可用性。
    Set Matches = regEx.Execute(strng) '执行搜索。
    For Each Match in Matches '遍历匹配集合。
        values = values&Match.Value&","
    Next
    RegExp_Execute = values
End Function

'***********************************************
'函数名:DeleteFile
'作  用:删除文件
'参  数:file  ----文件路径
'***********************************************

Function DeleteFile(File)
    Dim fso
    Set fso = CreateObject("scripting.filesystemobject")
    If fso.FileExists(File) Then
        fso.DeleteFile server.MapPath(File)
    Else
        response.Write File&"文件不存在"
    End If
    Set fso = Nothing
End Function

'使用举例
Dim id
id = request.QueryString("id")
Set rs = server.CreateObject("adodb.recordset")
sql = "select * from articles where id = "&id&""
rs.Open sql, conn, 1, 3
If rs.bof And rs.EOF Then
    response.Write "<script language=javascript>alert('error!')</script>"
    response.End()
Else
    Dim picUrl
    Dim picUrlArray
    Dim x, y
    picUrl = getPicUrl(rs("content"))
    If picUrl <> "" Then
        picUrl = Left(picUrl, Len(picUrl) -1)
        picUrlArray = Split(picUrl, ",")
        For x = 0 To UBound(picUrlArray)
            If InStr(picUrlArray(x), "/编辑器图片上传目录/") > 0 Then
                DeleteFile(picUrlArray(x))
            End If
        Next
    End If

    rs.Delete
    response.Write "<script language=javascript>alert('删除成功')</script>"
End If
rs.Close
%>
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)


关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网