Liu Yongfa's xml asp source code packaging tool is packaged into a separate xml file. You can install it directly on the server and save it as Pack.asp. Run it when packaging the file.
Copy the code code as follows:
<%@LANGUAGE=VBSCRIPT CODEPAGE=65001%>
<%OptionExplicit%>
<%OnErrorResumeNext%>
<% Response.Charset=UTF-8%>
<% Server.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<head>
<metahttp-equiv=Content-Typecontent=text/html; charset=utf-8/>
<title>File Packaging Program</title>
</head>
<body>
<%
Dim ZipPathDir, ZipPathFile
Dim startime, endtime
'Change the path of the folder to be packaged here
ZipPathDir =F:/www.yongfa365.com'
ZipPathFile =update.xml
If Right(ZipPathDir,1)<>/Then ZipPathDir = ZipPathDir&/
'Start packing
CreateXml(ZipPathFile)
'Traverse all files and folders in the directory
Sub LoadData(DirPath)
DimXmlDoc
Dim fso 'fso object
Dim objFolder 'Folder object
Dim objSubFolders 'Subfolder collection
Dim objSubFolder 'Subfolder object
Dim objFiles 'File collection
Dim objFile 'File object
Dim objStream
Dim pathname, TextStream, pp, Xfolder, Xfpath, Xfile, Xpath, Xstream
DimPathNameStr
response.Write(==========&DirPath&==========<br>)
Set fso = server.CreateObject(scripting.filesystemobject)
Set objFolder = fso.GetFolder(DirPath)'Create a folder object
Response.Write DirPath
Response.flush
Set XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.load Server.MapPath(ZipPathFile)
XmlDoc.async =False
'Write each folder path
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
ForEach 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
'================================================
'Write the path and file content of the file
Set Xfile = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(file))
Set Xpath = Xfile.AppendChild(XmlDoc.CreateElement(path))
Xpath.text = Replace(PathNameStr, ZipPathDir,)
'Create a file stream to read the file content and write it to the XML file
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
'The file content is stored in binary mode
Xstream.dataType =bin.base64
Xstream.nodeTypedValue = objStream.Read()
Set objStream =Nothing
Set Xpath =Nothing
Set Xstream =Nothing
Set Xfile=Nothing
'================================================
EndIf
Next
Response.Write <p>
XmlDoc.Save(Server.Mappath(ZipPathFile))
Set Xfpath =Nothing
Set Xfolder =Nothing
Set XmlDoc =Nothing
'Created subfolder object
Set objSubFolders = objFolder.SubFolders
'Call recursively traverse subfolders
ForEach objSubFolder in objSubFolders
pathname = DirPath & objSubFolder.Name &/
LoadData(pathname)
Next
Set objFolder =Nothing
Set objSubFolders =Nothing
Set fso=Nothing
EndSub
'Create an empty XML file to prepare for writing to the file
Sub CreateXml(FilePath)
'Program start execution time
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)
'Program end time
endtime = Timer()
response.Write(Page execution time: & FormatNumber((endtime - startime),3)& seconds)
EndSub
%>
</body>
</html>
Save the following as Install.asp and run it when installing the XML packaging file.
Copy the code code as follows:
<%@LANGUAGE=VBSCRIPT CODEPAGE=65001%>
<%OptionExplicit%>
<%OnErrorResumeNext%>
<% Response.Charset=UTF-8%>
<% Server.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<head>
<metahttp-equiv=Content-Typecontent=text/html; charset=utf-8/>
<title>File Unpacker</title>
</head>
<body>
<%
Dim strLocalPath
'Get the physical path of the current folder
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 =4Then
If objXmlFile.parseError.errorCode =0Then
Set objNodeList = objXmlFile.documentElement.selectNodes(//folder/path)
Set objFSO = CreateObject(Scripting.FileSystemObject)
j = objNodeList.Length -1
For i =0To j
If objFSO.FolderExists(strLocalPath & objNodeList(i).text)=FalseThen
objFSO.CreateFolder(strLocalPath & objNodeList(i).text)
EndIf
Response.Write creates directory & 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 =0To j
Set objStream = CreateObject(ADODB.Stream)
With objStream
.Type=1
.Open
.Write objNodeList(i).nextSibling.nodeTypedvalue
.SaveToFile strLocalPath & objNodeList(i).text,2
Response.Write releases file & objNodeList(i).text &<br/>
Response.Flush
.Close
EndWith
Set objStream =Nothing
Next
Set objNodeList =Nothing
EndIf
EndIf
Set objXmlFile =Nothing
response.Write file unpacking completed
%>
</body>
</html>