今天在网上找了下用xml打包文件、文件夹之类的内容看了看,在本机上调试了下,感觉还挺有用处
这个方法可以把整个文件夹打包到xml文件中,把这个xml文件文件和解包文件放在一起后,运行解包文件就可以把原来的文件释放出来,这样我们就可以把网站打包上传到虚拟主机,再运行解包文件就可以了。我在本地测试之选择了少部分文件,不知在文件很多的情况执行效率如何。
其实实现的思路也很简单,主要利用的是xml文件可以存放二进制数据的原理。有兴趣的朋友可以下载下面的附件研究下!!
解包文件
代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit %> <% On Error Resume Next %> <% Response.Charset="UTF-8" %> <% Server.ScriptTimeout=99999999 %>
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>脚本之家——文件解包程序_www.jb51.net</title> </head> <body> <% Dim strLocalPath '得到当前文件夹的物理路径 strLocalPath=Left(Request.ServerVariables("PATH_TRANSLATED"),InStrRev(Request.ServerVariables("PATH_TRANSLATED"),"\")) Dim objXmlFile Dim objNodeList Dim objFSO Dim objStream Dim i,j Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM") objXmlFile.load(Server.MapPath("update.xml")) If objXmlFile.readyState=4 Then If objXmlFile.parseError.errorCode = 0 Then Set objNodeList = objXmlFile.documentElement.selectNodes("//folder/path") Set objFSO = CreateObject("Scripting.FileSystemObject") j=objNodeList.length-1 For i=0 To j If objFSO.FolderExists(strLocalPath & objNodeList(i).text)=False Then objFSO.CreateFolder(strLocalPath & objNodeList(i).text) End If Response.Write "创建目录" & objNodeList(i).text & "<br/>" Response.Flush Next Set objFSO = nothing Set objNodeList = nothing Set objNodeList = objXmlFile.documentElement.selectNodes("//file/path") j=objNodeList.length-1 For i=0 To j Set objStream = CreateObject("ADODB.Stream") With objStream .Type = 1 .Open .Write objNodeList(i).nextSibling.nodeTypedvalue .SaveToFile strLocalPath & objNodeList(i).text,2 Response.Write "释放文件" & objNodeList(i).text & "<br/>" Response.Flush .Close End With Set objStream = Nothing Next Set objNodeList = nothing End If End If Set objXmlFile = Nothing response.write "文件解包完毕" %> </body> </html>
pack.asp 打包文件
代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit %> <% On Error Resume Next %> <% Response.Charset="UTF-8" %> <% Server.ScriptTimeout=99999999 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>文件打包程序_脚本之家_www.jb51.net</title> </head> <body> <% Dim ZipPathDir,ZipPathFile Dim startime,endtime '在此更改要打包文件夹的路径 ZipPathDir = "D:\testasp\dictionary\xmlPacked\scrollColor"' ZipPathFile = "update.xml" if right(ZipPathDir,1)<>"\" then ZipPathDir=ZipPathDir&"\" '开始打包 CreateXml(ZipPathFile) '遍历目录内的所有文件以及文件夹 sub LoadData(DirPath) dim XmlDoc dim fso 'fso对象 dim objFolder '文件夹对象 dim objSubFolders '子文件夹集合 dim objSubFolder '子文件夹对象 dim objFiles '文件集合 dim objFile '文件对象 dim objStream dim pathname,TextStream,pp,Xfolder,Xfpath,Xfile,Xpath,Xstream dim PathNameStr response.Write("=========="&DirPath&"==========<br>") set fso=server.CreateObject("scripting.filesystemobject") set objFolder=fso.GetFolder(DirPath)'创建文件夹对象 Response.Write DirPath Response.flush Set XmlDoc = Server.CreateObject("Microsoft.XMLDOM") XmlDoc.load Server.MapPath(ZipPathFile) XmlDoc.async=false '写入每个文件夹路径 set Xfolder = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("folder")) Set Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement("path")) Xfpath.text = replace(DirPath,ZipPathDir,"") set objFiles=objFolder.Files for each objFile in objFiles if lcase(DirPath & objFile.name) <> lcase(Request.ServerVariables("PATH_TRANSLATED")) then Response.Write "---<br/>" PathNameStr = DirPath & "" & objFile.name Response.Write PathNameStr & "" Response.flush '================================================ '写入文件的路径及文件内容 set Xfile = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("file")) Set Xpath = Xfile.AppendChild(XmlDoc.CreateElement("path")) Xpath.text = replace(PathNameStr,ZipPathDir,"") '创建文件流读入文件内容,并写入XML文件中 Set objStream = Server.CreateObject("ADODB.Stream") objStream.Type = 1 objStream.Open() objStream.LoadFromFile(PathNameStr) objStream.position = 0 Set Xstream = Xfile.AppendChild(XmlDoc.CreateElement("stream")) Xstream.SetAttribute "xmlns:dt","urn:schemas-microsoft-com:datatypes" '文件内容采用二制方式存放 Xstream.dataType = "bin.base64" Xstream.nodeTypedValue = objStream.Read() set objStream=nothing set Xpath = nothing set Xstream = nothing set Xfile = nothing '================================================ end if next Response.Write "<p>" XmlDoc.Save(Server.Mappath(ZipPathFile)) set Xfpath = nothing set Xfolder = nothing set XmlDoc = nothing '创建的子文件夹对象 set objSubFolders=objFolder.Subfolders '调用递归遍历子文件夹 for each objSubFolder in objSubFolders pathname = DirPath & objSubFolder.name & "\" LoadData(pathname) next set objFolder=nothing set objSubFolders=nothing set fso=nothing end sub '创建一个空的XML文件,为写入文件作准备 sub CreateXml(FilePath) '程序开始执行时间 startime=timer() dim XmlDoc,Root Set XmlDoc = Server.CreateObject("Microsoft.XMLDOM") XmlDoc.async = False Set Root = XmlDoc.createProcessingInstruction("xml","version='1.0' encoding='UTF-8'") XmlDoc.appendChild(Root) XmlDoc.appendChild(XmlDoc.CreateElement("root")) XmlDoc.Save(Server.MapPath(FilePath)) Set Root = Nothing Set XmlDoc = Nothing LoadData(ZipPathDir) '程序结束时间 endtime=timer() response.Write("页面执行时间:" & FormatNumber((endtime-startime),3) & "秒") end sub %> </body> </html>
以上是在asp下通过xml打包网站文件的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

RSS文档的结构包括三个主要元素:1.:根元素,定义RSS版本;2.:包含频道信息,如标题、链接、描述;3.:代表具体的内容条目,包含标题、链接、描述等。

RSS文档是一种简便的订阅机制,通过XML文件发布内容更新。1.RSS文档结构由和元素组成,包含多个。2.使用RSS阅读器订阅频道,并通过解析XML提取信息。3.高级用法包括使用feedparser库进行过滤和排序。4.常见错误包括XML解析和编码问题,调试时需验证XML格式和编码。5.性能优化建议包括缓存RSS文档和异步解析。

RSS和XML在现代Web中依然重要。1.RSS用于发布和分发内容,用户可通过RSS阅读器订阅并获取更新。2.XML作为标记语言,支持数据存储和交换,RSS文件基于XML。

RSS可以实现多媒体内容嵌入、条件订阅、以及性能和安全性优化。1)通过标签嵌入多媒体内容,如音频和视频。2)使用XML命名空间实现条件订阅,允许订阅者根据特定条件筛选内容。3)通过CDATA节和XMLSchema优化RSSFeed的性能和安全性,确保稳定性和符合标准。

RSS是一种基于XML的格式,用于发布常更新的数据。作为Web开发者,理解RSS能提升内容聚合和自动化更新能力。通过学习RSS结构、解析和生成方法,你将能自信地处理RSSfeeds,优化Web开发技能。

RSS选择XML而不是JSON是因为:1)XML的结构化和验证能力优于JSON,适合RSS复杂数据结构的需求;2)XML当时有广泛的工具支持;3)RSS早期版本基于XML,已成标准。

RSS是一种基于XML的格式,用于订阅和阅读频繁更新的内容。它的工作原理包括生成和消费两部分,使用RSS阅读器可以高效获取信息。

RSS文档的核心结构包括XML标签和属性,具体解析和生成步骤如下:1.读取XML文件,处理和标签。2.提取、、等标签信息。3.处理自定义标签和属性,确保版本兼容性。4.使用缓存和异步处理优化性能,确保代码可读性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境