源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 302|回复: 8

[ASP编程] ReSaveRemoteFile函数之asp实现查找文件保存替换的代码

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-9-1 22:08:19 | 显示全部楼层 |阅读模式
'================================================
    '函数名: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=|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=", "", 1, -1, 1), "href=", "", 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
回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-14 13:58:04 | 显示全部楼层
而非为吾问无为谓娃娃
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

85

积分

注册会员

Rank: 2

积分
85
发表于 2023-1-6 14:00:21 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-2-25 09:24:09 | 显示全部楼层
刷屏刷屏刷屏
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

67

积分

注册会员

Rank: 2

积分
67
发表于 2024-5-18 03:21:52 | 显示全部楼层
来看看怎么样
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

381

积分

中级会员

Rank: 3Rank: 3

积分
381
发表于 2024-7-21 00:55:01 | 显示全部楼层
我找了挺久终于找到了
回复 支持 反对

使用道具 举报

5

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2024-10-14 13:31:46 | 显示全部楼层
iiguuubhuiuihu
回复 支持 反对

使用道具 举报

12

主题

2万

回帖

431

积分

中级会员

Rank: 3Rank: 3

积分
431
发表于 2024-10-31 03:45:14 | 显示全部楼层
先把创新班才能下班才能下班
回复 支持 反对

使用道具 举报

0

主题

6333

回帖

68

积分

注册会员

Rank: 2

积分
68
发表于 2024-11-16 19:08:14 | 显示全部楼层
女生看了弄丢了卡萨诺的卡洛斯
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-24 15:14 , Processed in 0.274987 second(s), 45 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表