佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ReplaceSaveRemoteFile 替換、保存遠程圖片 的代碼

ReplaceSaveRemoteFile 替換、保存遠程圖片 的代碼

熱門標簽:團購網(wǎng)站 Mysql連接數(shù)設(shè)置 阿里云 銀行業(yè)務 Linux服務器 服務器配置 科大訊飛語音識別系統(tǒng) 電子圍欄
'==================================================
'函數(shù)名:ReplaceSaveRemoteFile
'作  用:替換、保存遠程圖片
'參  數(shù):ConStr ------ 要替換的字符串
'參  數(shù):SaveTf ------ 是否保存文件,F(xiàn)alse不保存,True保存
'參  數(shù): TistUrl------ 當前網(wǎng)頁地址
'==================================================
Function ReplaceSaveRemoteFile(ConStr,strInstallDir,strChannelDir,SaveTf,TistUrl)
   If ConStr="$False$" or ConStr="" or strChannelDir="" Then
      ReplaceSaveRemoteFile=ConStr
      Exit Function
   End If
   Dim TempStr,TempStr2,TempStr3,Re,Matches,Match,Tempi,TempArray,TempArray2

   Set Re = New Regexp 
   Re.IgnoreCase = True 
   Re.Global = True
   Re.Pattern ="img.+?[^\&;]>"
   Set Matches =Re.Execute(ConStr) 
   For Each Match in Matches
      If TempStr>"" then 
         TempStr=TempStr  "$Array$"  Match.Value
      Else
         TempStr=Match.Value
      End if
   Next
   If TempStr>"" Then
      TempArray=Split(TempStr,"$Array$")
      TempStr=""
      For Tempi=0 To Ubound(TempArray)
         Re.Pattern ="src\s*=\s*.+?\.(gif|jpg|bmp|jpeg|psd|png|svg|dxf|wmf|tiff)"
         Set Matches =Re.Execute(TempArray(Tempi)) 
         For Each Match in Matches
            If TempStr>"" then 
               TempStr=TempStr  "$Array$"  Match.Value
            Else
               TempStr=Match.Value
            End if
         Next
      Next
   End if
   If TempStr>"" Then
         IncludePic=1'圖片新聞
      Re.Pattern ="src\s*=\s*"
      TempStr=Re.Replace(TempStr,"")
   End If
   Set Matches=nothing
   Set Re=nothing
   If TempStr="" or IsNull(TempStr)=True Then
      ReplaceSaveRemoteFile=ConStr
      Exit function
   End if
   TempStr=Replace(TempStr,"""","")
   TempStr=Replace(TempStr,"'","")
   TempStr=Replace(TempStr," ","")

   Dim RemoteFileurl,SavePath,PathTemp,DtNow,strFileName,strFileType,ArrSaveFileName,RanNum,Arr_Path
   DtNow=Now()
   If SaveTf=True then
 '***********************************
      SavePath= strChannelDir  year(DtNow)  right("0"  month(DtNow),2)  "/"
      response.write "鏈接路徑:"  savepath  "br>"
      Arr_Path=Split(SavePath,"/")
      PathTemp=""
      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
   End If

   '去掉重復圖片開始
   TempArray=Split(TempStr,"$Array$")
   TempStr=""
   For Tempi=0 To Ubound(TempArray)
      If Instr(Lcase(TempStr),Lcase(TempArray(Tempi)))1 Then
         TempStr=TempStr  "$Array$"  TempArray(Tempi)
      End If
   Next
   TempStr=Right(TempStr,Len(TempStr)-7)
   TempArray=Split(TempStr,"$Array$")
   '去掉重復圖片結(jié)束

   '轉(zhuǎn)換相對圖片地址開始
   TempStr=""
   For Tempi=0 To Ubound(TempArray)
      TempStr=TempStr  "$Array$"  DefiniteUrl(TempArray(Tempi),TistUrl)
   Next
   TempStr=Right(TempStr,Len(TempStr)-7)
   TempStr=Replace(TempStr,Chr(0),"")
   TempArray2=Split(TempStr,"$Array$")
   TempStr=""
   '轉(zhuǎn)換相對圖片地址結(jié)束
    '圖片替換/保存
   Set Re = New Regexp
   Re.IgnoreCase = True 
   Re.Global = True
   For Tempi=0 To Ubound(TempArray2)
      RemoteFileUrl=TempArray2(Tempi)
      If RemoteFileUrl>"$False$" And SaveTf=True Then'保存圖片
         ArrSaveFileName = Split(RemoteFileurl,".")
     strFileType=Lcase(ArrSaveFileName(Ubound(ArrSaveFileName)))'文件類型
         If strFileType="asp" or strFileType="asa" or strFileType="aspx" or strFileType="cer" or strFileType="cdx" or strFileType="exe" or strFileType="rar" or strFileType="zip" then
            UploadFiles=""
            ReplaceSaveRemoteFile=ConStr
            Exit Function
         End If

         Randomize
         RanNum=Int(900*Rnd)+100
     strFileName = year(DtNow)  right("0"  month(DtNow),2)  right("0"  day(DtNow),2)  right("0"  hour(DtNow),2)  right("0"  minute(DtNow),2)  right("0"  second(DtNow),2)  ranNum  "."  strFileType
         Re.Pattern =TempArray(Tempi)

     If SaveRemoteFile(SavePath  strFileName,RemoteFileUrl)=True Then
'********************************
            PathTemp=SavePath  strFileName 
            ConStr=Re.Replace(ConStr,PathTemp)
            Re.Pattern=strInstallDir  strChannelDir 
            UploadFiles=UploadFiles  "|"  Re.Replace(SavePath strFileName,"")
            Response.Flush()
            response.write " nbsp;nbsp;nbsp;圖片保存地址:"  PathTemp  "br>"
            if Thumb_WaterMark=1 then call SKThumb.AddWaterMark(PathTemp)'水印
         Else
            PathTemp=RemoteFileUrl
            ConStr=Re.Replace(ConStr,PathTemp)
            'UploadFiles=UploadFiles  "|"  RemoteFileUrl
         End If
      ElseIf RemoteFileurl>"$False$" and SaveTf=False Then'不保存圖片
         Re.Pattern =TempArray(Tempi)
         ConStr=Re.Replace(ConStr,RemoteFileUrl)
         UploadFiles=UploadFiles  "|"  RemoteFileUrl
      End If
   Next   
   Set Re=nothing
   If UploadFiles>"" Then
      UploadFiles=Right(UploadFiles,Len(UploadFiles)-1)
   End If
   ReplaceSaveRemoteFile=ConStr
End function
您可能感興趣的文章:
  • 用php獲取遠程圖片并把它保存到本地的代碼
  • php 遠程圖片保存到本地的函數(shù)類
  • ASP保存遠程圖片到本地 同時取得第一張圖片并創(chuàng)建縮略圖的代碼
  • php下保存遠程圖片到本地的辦法

標簽:大理 棗莊 萍鄉(xiāng) 江蘇 衢州 蚌埠 衡水 廣元

巨人網(wǎng)絡通訊聲明:本文標題《ReplaceSaveRemoteFile 替換、保存遠程圖片 的代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    潞城市| 巴南区| 泽库县| 于都县| 贞丰县| 武宣县| 承德县| 迭部县| 民丰县| 新龙县| 东港市| 阿图什市| 渝中区| 潼南县| 马鞍山市| 金堂县| 罗城| 集安市| 太原市| 建平县| 五大连池市| 瑞昌市| 扎兰屯市| 丹寨县| 黄山市| 泰兴市| 北京市| 安多县| 龙陵县| 左贡县| 都匀市| 新源县| 嘉荫县| 宁河县| 合江县| 霞浦县| 通州市| 大方县| 马鞍山市| 临洮县| 凉山|