国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

ASP利用XML打包指定文件夾 并上傳到WEB目錄中,自行解包_ASP教程

2024-05-04 11:04:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

推薦:ASP Error對(duì)象的技巧
在VBScript中,有一個(gè)On Error Resume Next語(yǔ)句,它使腳本解釋器忽略運(yùn)行期錯(cuò)誤并繼續(xù)腳本代碼的執(zhí)行。接著該腳本可以檢查Err.Number屬性的值,判別是否出現(xiàn)了錯(cuò)誤。如果出現(xiàn)錯(cuò)誤,返回一個(gè)非零值。在ASP 3.0中,也可以使用On Error Goto 0“轉(zhuǎn)回到”缺省的

  1. '======================== 
  2. '文件1 
  3. 'Pack.asp 
  4. '更改 Cpathname 這一變量 
  5. '將在當(dāng)前目錄生成一個(gè)DATA.XML文件 
  6. '將DATA.XML及文件2(install.asp)上傳至WEB根目錄 
  7. '運(yùn)行install.asp解包 
  8. '手動(dòng)刪除以上兩個(gè)文件  
  9. '======================== 
  10. <% Option Explicit %> 
  11. <% On Error Resume Next %> 
  12. <
  13. Server.ScriptTimeout=99999999 
  14. dim Cpathname 
  15. dim startime,endtime 
  16.  
  17. '在此更改要打包文件夾的路徑 
  18. Cpathname = "F:WEBsymr" 
  19.  
  20. startime=timer() 
  21. function bianli(path) 
  22. dim doc 
  23. dim fso 'fso對(duì)象 
  24. dim objFolder '文件夾對(duì)象 
  25. dim objSubFolders '子文件夾集合 
  26. dim objSubFolder '子文件夾對(duì)象 
  27. dim objFiles '文件集合 
  28. dim objFile '文件對(duì)象 
  29. dim objStream 
  30. dim pathname,TextStream,pp,Xfolder,Xfpath,Xfile,Xpath,Xstream 
  31.  
  32. set fso=server.CreateObject("scripting.filesystemobject") 
  33. set objFolder=fso.GetFolder(path)'創(chuàng)建文件夾對(duì)象 
  34.  
  35. Response.Write path 
  36. Response.flush 
  37.  
  38. Set doc = Server.CreateObject("MSxml2.DOMDocument") 
  39. doc.load Server.MapPath("data.xml") 
  40. doc.async=false 
  41.  
  42. '寫入每個(gè)文件夾路徑 
  43. set Xfolder = doc.SelectSingleNode("//z-blog").AppendChild(doc.CreateElement("folder")) 
  44. Set Xfpath = Xfolder.AppendChild(doc.CreateElement("path")) 
  45. Xfpath.text = replace(path,Cpathname,"") 
  46.  
  47. set objFiles=objFolder.Files 
  48. for each objFile in objFiles 
  49. Response.Write " 
  50. ---" 
  51. pp = path & "" & objFile.name 
  52.  
  53. Response.Write pp & " 
  54. Response.flush 
  55.  
  56. '================================================ 
  57. '寫入文件的路徑及文件內(nèi)容 
  58. set Xfile = doc.SelectSingleNode("//z-blog").AppendChild(doc.CreateElement("file")) 
  59.  
  60. Set Xpath = Xfile.AppendChild(doc.CreateElement("path")) 
  61. Xpath.text = replace(pp,Cpathname,"") 
  62.  
  63. '創(chuàng)建文件流讀入文件內(nèi)容,并寫入XML文件中 
  64. Set objStream = Server.CreateObject("ADODB.Stream") 
  65. objStream.Type = 1 
  66. objStream.Open() 
  67. objStream.LoadFromFile(pp) 
  68. objStream.position = 0 
  69.  
  70. Set Xstream = Xfile.AppendChild(doc.CreateElement("stream")) 
  71. Xstream.SetAttribute "xmlns:dt","urn:schemas-microsoft-com:datatypes" 
  72. '文件內(nèi)容采用二制方式存放 
  73. Xstream.dataType = "bin.base64" 
  74. Xstream.nodeTypedValue = objStream.Read() 
  75.  
  76. set objStream=nothing 
  77. set Xpath = nothing 
  78. set Xstream = nothing 
  79. set Xfile = nothing 
  80.  
  81. '================================================ 
  82. next 
  83. Response.Write "<p>
  84.  
  85. doc.save server.mappath("data.xml") 
  86. set Xfpath = nothing 
  87. set Xfolder = nothing 
  88. set doc = nothing 
  89.  
  90. '創(chuàng)建的子文件夾對(duì)象 
  91. set objSubFolders=objFolder.Subfolders 
  92. '調(diào)用遞歸遍歷子文件夾 
  93. for each objSubFolder in objSubFolders 
  94. pathpathname=path + "" + objSubFolder.name 
  95. bianli(pathname) 
  96. next  
  97.  
  98. set objFolder=nothing 
  99. set objSubFolders=nothing 
  100. set fso=nothing 
  101. end function 
  102.  
  103. dim doc,objPI 
  104. '創(chuàng)建一個(gè)空的XML文件,為寫入文件作準(zhǔn)備 
  105. Set doc = Server.CreateObject("MSxml2.DOMDocument") 
  106. doc.async=false 
  107. set objPI = doc.createProcessingInstruction("xml","version='1.0' encoding='UTF-8'") 
  108. doc.insertBefore objPI, doc.childNodes(0) 
  109. doc.appendChild(doc.CreateElement("z-blog")) 
  110. doc.save server.mappath("data.xml") 
  111. set objPI = nothing 
  112. set doc = nothing 
  113. bianli(Cpathname)  
  114. endtime=timer() 
  115. %>  
  116. 頁(yè)面執(zhí)行時(shí)間:<%=FormatNumber((endtime-startime),3)%>秒 
  117.  
  118. '================================= 
  119. '文件2 
  120. 'install.asp 
  121. '此文件改自z-blog安裝文件 
  122. '================================= 
  123. <%@ CODEPAGE=65001 %> 
  124. <% Option Explicit %> 
  125. <% On Error Resume Next %> 
  126. <Response.Charset="UTF-8" %> 
  127. <html> 
  128. <head> 
  129. <title>文件解包程序</title> 
  130. </head> 
  131. <body> 
  132. <textarea name="content" cols="90" rows="20" style="border:0px;overflow:auto;border-width:0px;width:100%;background-color:#E8F3FF;" scrolling="auto"> 
  133. <
  134. Dim strLocalPath 
  135. '得到當(dāng)前文件夾的物理路徑 
  136. strLocalPath=Left(Request.ServerVariables("PATH_TRANSLATED"),InStrRev(Request.ServerVariables("PATH_TRANSLATED"),"")) 
  137.  
  138. Dim strDbPath 
  139. Dim objXmlFile 
  140. Dim objNodeList 
  141. Dim objFSO 
  142. Dim objStream 
  143. Dim i,j 
  144.  
  145. Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM") 
  146. objXmlFile.load(Server.MapPath("data.xml")) 
  147.  
  148. If objXmlFile.readyState=4 Then 
  149. If objXmlFile.parseError.errorCode = 0 Then 
  150.  
  151. Set objNodeList = objXmlFile.documentElement.selectNodes("//folder/path") 
  152. Set objFSO = CreateObject("Scripting.FileSystemObject") 
  153.  
  154. j=objNodeList.length-1 
  155. For i=0 To j 
  156. If objFSO.FolderExists(strLocalPath & objNodeList(i).text)=False Then 
  157. objFSO.CreateFolder(strLocalPath & objNodeList(i).text) 
  158. End If 
  159. Response.Write "創(chuàng)建目錄" & objNodeList(i).text & vbCrlf 
  160. Response.Flush 
  161. Next 
  162.  
  163. Set objNodeList = objXmlFile.documentElement.selectNodes("//file/path") 
  164.  
  165. j=objNodeList.length-1 
  166. For i=0 To j 
  167. Set objStream = CreateObject("ADODB.Stream") 
  168. With objStream 
  169. .Type = 1 
  170. .Open 
  171. .Write objNodeList(i).nextSibling.nodeTypedvalue 
  172. .SaveToFile strLocalPath & objNodeList(i).text,2 
  173. Response.Write "釋放文件" & objNodeList(i).text & vbCrlf 
  174. Response.Flush 
  175. .Close 
  176. End With 
  177. Set objStream = Nothing 
  178. Next 
  179. End If 
  180. End If 
  181. %> 
  182. </textarea> 
  183. <%response.write "<script>alert('文件解包完畢!');</script>"%> 

分享:ASP開(kāi)發(fā)中有用的函數(shù)(function)集合(1)
ASP開(kāi)發(fā)中有用的function集合,挺有用處的!希望大家保留! % '************************************* '防止外部提交 '************************************* function ChkPost() dim server_v1,server_v2 chkpost=false server_v1=Cstr(Request.ServerVari

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 手游| 繁昌县| 溆浦县| 重庆市| 伊吾县| 静海县| 长治县| 神农架林区| 贵阳市| 兴安盟| 陕西省| 咸阳市| 昌吉市| 米易县| 思茅市| 大名县| 南京市| 东方市| 渑池县| 亳州市| 红桥区| 西和县| 云霄县| 灵武市| 大邑县| 松潘县| 邯郸县| 长泰县| 阿拉善盟| 开原市| 晋江市| 朔州市| 天全县| 苍溪县| 长兴县| 启东市| 昌平区| 龙海市| 怀宁县| 泸溪县| 玛沁县|