服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP教程 - ReSaveRemoteFile函数之asp实现查找文件保存替换的代码

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

2019-10-09 14:24asp代码网 ASP教程

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

  1. '================================================  
  2.     '函数名:ReSaveRemoteFile  
  3.     '作  用:查找文件保存替换  
  4.     '参  数:Str   ----原字符串  
  5.     '参  数:url   ----当然网站URL  
  6.     '参  数:Dir -----保存目录  
  7.     '参  数:InSave ------是否保存,True,False  
  8.     '返回值:格式化取后的字符串  
  9.     '================================================  
  10.     Public Function ReSaveRemoteFile(ByVal str, ByVal URL, ByVal Dir,InSave)  
  11.         Dim s_Content  
  12.         Dim re  
  13.         Dim ContentFile, ContentFileUrl  
  14.         Dim strTempUrl,strFileUrl,DirTemp,PathTemp,FileTemp,Tempi,TempUrlArray,Arr_Path  
  15.         Dim sAllowExtName  
  16.         sAllowExtName="rm|swf"  
  17.  
  18.         s_Content = str  
  19.         On Error Resume Next  
  20.         Set re = New RegExp  
  21.         re.IgnoreCase = True  
  22.         re.Global = True  
  23.         re.Pattern = "((src=|href=)((\S)+[.]{1}(" & sAllowExtName & ")))"  
  24.         Set ContentFile = re.Execute(s_Content)  
  25.         Dim sContentUrl(), n, i, bRepeat  
  26.         n = 0  
  27.         For Each ContentFileUrl In ContentFile  
  28.             strFileUrl = Replace(Replace(Replace(Replace(ContentFileUrl.Value, "src=""", 1, -1, 1), "href=""", 1, -1, 1), "'"""), Chr(34), "")  
  29.             If n = 0 Then  
  30.                 n = n + 1  
  31.                 ReDim sContentUrl(n)  
  32.                 sContentUrl(n) = strFileUrl  
  33.             Else  
  34.                 bRepeat = False  
  35.                 For i = 1 To UBound(sContentUrl)  
  36.                     If UCase(strFileUrl) = UCase(sContentUrl(i)) Then  
  37.                         bRepeat = True  
  38.                         Exit For  
  39.                     End If  
  40.                 Next  
  41.                 If bRepeat = False Then  
  42.                     n = n + 1  
  43.                     ReDim Preserve sContentUrl(n)  
  44.                     sContentUrl(n) = strFileUrl  
  45.                 End If  
  46.             End If  
  47.         Next  
  48.         If n = 0 Then  
  49.             ReSaveRemoteFile = s_Content  
  50.             Exit Function  
  51.         End If  
  52.         For i = 1 To n   
  53.             strTempUrl = sContentUrl(i) : strTempUrl = FormatRemoteUrl(strTempUrl,URL)'得到文件地址  
  54.             Response.Write(strTempUrl)  
  55.             IF InSave=True then  
  56.                 Arr_Path=Split(Dir,"/")  
  57.                 '----------建目录-----------------------  
  58.                   For Tempi=0 To Ubound(Arr_Path)  
  59.                      If Tempi=0 Then  
  60.                         PathTemp=Arr_Path(0) & "/"  
  61.                      ElseIf Tempi=Ubound(Arr_Path) Then  
  62.                         Exit For  
  63.                      Else  
  64.                         PathTemp=PathTemp & Arr_Path(Tempi) & "/"  
  65.                      End If  
  66.                      If CheckDir(PathTemp)=False Then  
  67.                         If MakeNewsDir(PathTemp)=False Then  
  68.                            SaveTf=False  
  69.                            Exit For  
  70.                         End If  
  71.                      End If  
  72.                   Next  
  73.                  '------------------------------------------------------  
  74.                 TempUrlArray=Split(strTempUrl,"/")  
  75.                 '----------检查文件是否存在.如果存在换文件名------------------  
  76.                 Do while True   
  77.                     FileTemp=Dir &  MakeRandom(5) & TempUrlArray(Ubound(TempUrlArray))'生成随机文件名  
  78.                     If CheckFile(FileTemp)=False then  
  79.                         Exit Do  
  80.                     end if  
  81.                 loop   
  82.                 '-------------------------------------------------------------------  
  83.                 Response.Write(FileTemp)  
  84.                 If SaveRemoteFile(FileTemp,strTempUrl)=True then  
  85.                     Response.Write("保存成功")&"<Br>"  
  86.                     s_Content = Replace(s_Content,sContentUrl(i),FileTemp, 1, -1, 1)'替换地址      
  87.                 Else  
  88.                     Response.Write("保存失败")&"<Br>"  
  89.                 End if  
  90.             Else  
  91.                 s_Content = Replace(s_Content,sContentUrl(i),strTempUrl, 1, -1, 1)'替换地址          
  92.             End If      
  93.         Next  
  94.         Set re = Nothing  
  95.         PictureExist = True  
  96.         ReSaveRemoteFile = s_Content  
  97.         Exit Function  
  98.     End Function 

延伸 · 阅读

精彩推荐
  • ASP教程asp实现后台添加wma视频文件前台显示

    asp实现后台添加wma视频文件前台显示

    想用asp来实现后台添加wma视频文件,前台显示所添加的这个视频文件,本文提供实现代码...

    服务器之家3402019-07-10
  • ASP教程asp 中文乱码问题解决方法

    asp 中文乱码问题解决方法

    不管什么语言乱码问题都存在,asp也不例外,本文将介绍asp中解决乱码方法,需要的朋友可以参考下...

    ASP之家6472019-07-10
  • ASP教程一份ASP内存的释放的实验报告

    一份ASP内存的释放的实验报告

    实验目的:验证主动释放内存变量是否有价值. 实验原始代码: script language=vbscript runat=server Dim temp1,temp2 temp1 = space(1024*1024*50) 50MB for i = 0 to 5000000 延迟 next t...

    asp教程网5052019-10-30
  • ASP教程一种理论上最快的Web数据库分页方法

    一种理论上最快的Web数据库分页方法

    出了一种理论上最佳的分页方法,本篇我们就来详细说说这种最佳的分页方法。 一:构思。 在设计Web数据库时,如果我们要编历每一条纪录,那么只有采取...

    asp教程网5642019-10-26
  • ASP教程ASP.NET 简介

    ASP.NET 简介

    本节对 ASP.NET 进行概括,介绍了 ASP.NET 的服务器技术、开发工具以及文件扩展名。 经典 ASP Active Server Pages(动态服务器页面) ASP ,全称 Active Server Pages(...

    未知1392023-05-08
  • ASP教程NAV导致IIS调用FSO失败的解决方法

    NAV导致IIS调用FSO失败的解决方法

    症状: 当你浏览调用FileSystemObject的ASP页面时, 对页面的请求处于停止状态并最终导致页面在浏览器中的超时。 原因: 这种问题是因为 Norton Antivirus 软件...

    asp教程网5492019-11-01
  • ASP教程ASP所有的Session变量获取实现代码

    ASP所有的Session变量获取实现代码

    在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来...

    asp教程网3532019-09-10
  • ASP教程asp中通过fso读取和生成UTF-8编码的txt

    asp中通过fso读取和生成UTF-8编码的txt

    利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法...

    ASP之家4712019-07-07