ReSaveRemoteFile函数之asp实现查找文件保存替换的代码

''================================================ ''函数名:ReSaveRemoteFile ''作用:查找文件保存替换 ''参数:Str----原字符串 ''参数:url----当然网站URL ''参数:Dir-----保存目录 ''参数:InSave------是否保存,True,False ''返回值:格式化取后的字符串

作者: 来源: 时间: 17-11-23 15:39:11

''================================================
    ''函数名:ReSaveRemoteFile
    ''作  用:查找文件保存替换
    ''参  数:Str   ----原字符串
    ''参  数:url   ----当然网站URL
    ''参  数:Dir -----保存目录
    ''参  数:InSave ------是否保存,True,False
    ''返回值:格式化取后的字符串
    ''================================================
    Public Function ReSaveRemoteFile(ByVal str, ByVal URL, ByVal Dir,InSave)
        Dim s_Content
        Dim re
        Dim ContentFile, ContentFileUrl
        Dim strTempUrl,strFileUrl,DirTemp,PathTemp,FileTemp,Tempi,TempUrlArray,Arr_Path
        Dim sAllowExtName
        sAllowExtName="rm|swf"

        s_Content = str
        On Error Resume Next
        Set re = New RegExp
        re.IgnoreCase = True
        re.Global = True
        re.Pattern = "((src=http://www.popasp.com/|href=)((/S)+[.]{1}(" & sAllowExtName & ")))"
        Set ContentFile = re.Execute(s_Content)
        Dim sContentUrl(), n, i, bRepeat
        n = 0
        For Each ContentFileUrl In ContentFile
            strFileUrl = Replace(Replace(Replace(Replace(ContentFileUrl.Value, "src="http://www.popasp.com/, "", 1, -1, 1), "href="http://www.popasp.com/, "", 1, -1, 1), "''", ""), Chr(34), "")
            If n = 0 Then
                n = n + 1
                ReDim sContentUrl(n)
                sContentUrl(n) = strFileUrl
            Else
                bRepeat = False
                For i = 1 To UBound(sContentUrl)
                    If UCase(strFileUrl) = UCase(sContentUrl(i)) Then
                        bRepeat = True
                        Exit For
                    End If
                Next
                If bRepeat = False Then
                    n = n + 1
                    ReDim Preserve sContentUrl(n)
                    sContentUrl(n) = strFileUrl
                End If
            End If
        Next
        If n = 0 Then
            ReSaveRemoteFile = s_Content
            Exit Function
        End If
        For i = 1 To n 
            strTempUrl = sContentUrl(i) : strTempUrl = FormatRemoteUrl(strTempUrl,URL)''得到文件地址
            Response.Write(strTempUrl)
            IF InSave=True then
                Arr_Path=Split(Dir,"/")
                ''----------建目录-----------------------
                  For Tempi=0 To Ubound(Arr_Path)
                     If Tempi=0 Then
                        PathTemp=Arr_Path(0) & "/"
                     ElseIf Tempi=Ubound(Arr_Path) Then
                        Exit For
                     Else
                        PathTemp=PathTemp & Arr_Path(Tempi) & "/"
                     End If
                     If CheckDir(PathTemp)=False Then
                        If MakeNewsDir(PathTemp)=False Then
                           SaveTf=False
                           Exit For
                        End If
                     End If
                  Next
                 ''------------------------------------------------------
                TempUrlArray=Split(strTempUrl,"/")
                ''----------检查文件是否存在.如果存在换文件名------------------
                Do while True 
                    FileTemp=Dir &  MakeRandom(5) & TempUrlArray(Ubound(TempUrlArray))''生成随机文件名
                    If CheckFile(FileTemp)=False then
                        Exit Do
                    end if
                loop 
                ''-------------------------------------------------------------------
                Response.Write(FileTemp)
                If SaveRemoteFile(FileTemp,strTempUrl)=True then
                    Response.Write("保存成功")&"<Br>"
                    s_Content = Replace(s_Content,sContentUrl(i),FileTemp, 1, -1, 1)''替换地址    
                Else
                    Response.Write("保存失败")&"<Br>"
                End if
            Else
                s_Content = Replace(s_Content,sContentUrl(i),strTempUrl, 1, -1, 1)''替换地址        
            End If    
        Next
        Set re = Nothing
        PictureExist = True
        ReSaveRemoteFile = s_Content
        Exit Function
    End Function
11
22
33
隐藏区块

会员注册

本功能为预留功能,暂不支持注册 ^_^

Login

社交帐号登陆

使用以下任意帐号可登陆本站

Close section
Close

联系我们

关于5UCMS 您有任何需求 均可以留言给我们