เครื่องมือบรรจุซอร์สโค้ด xml asp ของ Liu Yongfa ได้รับการบรรจุเป็นไฟล์ xml แยกต่างหาก คุณสามารถติดตั้งได้โดยตรงบนเซิร์ฟเวอร์และบันทึกเป็น Pack.asp เรียกใช้เมื่อทำการบรรจุไฟล์
คัดลอกรหัสรหัสดังต่อไปนี้:
<%@LANGUAGE=รหัส VBSCRIPT=65001%>
<%ตัวเลือกที่ชัดเจน%>
<%OnErrorResumeNext%>
<% การตอบกลับ 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>
<หัว>
<metahttp-equiv=Content-Typecontent=text/html; charset=utf-8/>
<title>โปรแกรมการแพ็คไฟล์</title>
</หัว>
<ร่างกาย>
-
Dim ZipPathDir, ZipPathFile
เวลาเริ่มต้นและเวลาสิ้นสุดสลัว
'เปลี่ยนเส้นทางของโฟลเดอร์ที่จะจัดทำแพ็กเกจที่นี่
ZipPathDir =F:/www.yongfa365.com'
ZipPathFile =update.xml
ถ้าใช่(ZipPathDir,1)<>/จากนั้น ZipPathDir = ZipPathDir&/
'เริ่มแพ็คของ
CreateXml(ไฟล์ ZipPath)
'สำรวจไฟล์และโฟลเดอร์ทั้งหมดในไดเร็กทอรี
โหลดข้อมูลย่อย (DirPath)
DimXmlDoc
หรี่วัตถุ fso 'fso
Dim objFolder 'วัตถุโฟลเดอร์
Dim objSubFolders 'คอลเลกชันโฟลเดอร์ย่อย
Dim objSubFolder 'วัตถุโฟลเดอร์ย่อย
Dim objFiles 'การรวบรวมไฟล์'
Dim objFile 'วัตถุไฟล์
ติ่ม objStream
ชื่อพาธติ่มซำ, TextStream, pp, Xfolder, Xfpath, Xfile, Xpath, Xstream
DimPathNameStr
การตอบสนองเขียน(==========&DirPath&==========<br>)
ตั้งค่า fso = server.CreateObject(scripting.filesystemobject)
ตั้งค่า objFolder = fso.GetFolder(DirPath)'สร้างวัตถุโฟลเดอร์
การตอบสนองเขียน DirPath
การตอบสนอง.ฟลัช
ตั้งค่า XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.load Server.MapPath (ZipPathFile)
XmlDoc.async=เท็จ
'เขียนแต่ละเส้นทางโฟลเดอร์
ตั้งค่า Xfolder = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(โฟลเดอร์))
ตั้งค่า Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement(path))
Xfpath.text = แทนที่ (DirPath, ZipPathDir,)
ตั้งค่า objFiles = objFolder.Files
สำหรับแต่ละ objFile ใน objFiles
ถ้า LCase(DirPath & objFile.Name)<> LCase(Request.ServerVariables(PATH_TRANSLATED))แล้ว
การตอบกลับเขียน ---<br/>
PathNameStr = DirPath && objFile.Name
การตอบกลับเขียน PathNameStr &
การตอบสนอง.ฟลัช
-
'เขียนเส้นทางและเนื้อหาไฟล์ของไฟล์
ตั้งค่า Xfile = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(file))
ตั้งค่า Xpath = Xfile.AppendChild(XmlDoc.CreateElement(path))
Xpath.text = แทนที่ (PathNameStr, ZipPathDir,)
'สร้างสตรีมไฟล์เพื่ออ่านเนื้อหาไฟล์และเขียนลงในไฟล์ XML
ตั้งค่า objStream = Server.CreateObject(ADODB.Stream)
objStream.Type=1
objStream.เปิด()
objStream.LoadFromFile (PathNameStr)
objStream.ตำแหน่ง=0
ตั้งค่า Xstream = Xfile.AppendChild(XmlDoc.CreateElement(stream))
Xstream.SetAttribute xmlns:dt,โกศ:schemas-microsoft-com:ประเภทข้อมูล
'เนื้อหาไฟล์ถูกจัดเก็บในโหมดไบนารี
Xstream.dataType=bin.base64
Xstream.nodeTypedValue = objStream.Read()
ตั้ง objStream = ไม่มีอะไร
ตั้ง Xpath = ไม่มีอะไร
ตั้ง Xstream = ไม่มีอะไร
ตั้ง Xfile=ไม่มีอะไร
-
สิ้นสุดถ้า
ต่อไป
การตอบสนองเขียน <p>
XmlDoc.Save (เซิร์ฟเวอร์ Mappath (ZipPathFile))
ตั้งค่า Xfpath = ไม่มีเลย
ตั้ง Xfolder = ไม่มีอะไร
ตั้ง XmlDoc = ไม่มีอะไร
'สร้างวัตถุโฟลเดอร์ย่อยแล้ว
ตั้งค่า objSubFolders = objFolder.SubFolders
'เรียกซ้ำสำรวจโฟลเดอร์ย่อย
ForEach objSubFolder ใน objSubFolders
ชื่อพาธ = DirPath & objSubFolder.Name &/
LoadData (ชื่อพาธ)
ต่อไป
ตั้ง objFolder = ไม่มีอะไร
ตั้งค่า objSubFolders = ไม่มีอะไร
ตั้งค่า fso=ไม่มีอะไร
สิ้นสุดย่อย
'สร้างไฟล์ XML เปล่าเพื่อเตรียมการเขียนลงไฟล์
ย่อย CreateXml (เส้นทางไฟล์)
'โปรแกรมเริ่มต้นเวลาดำเนินการ
เวลาเริ่มต้น = ตัวจับเวลา ()
Dim XmlDoc รูท
ตั้งค่า XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.async=เท็จ
ตั้งค่ารูท = XmlDoc.createProcessingInstruction(xml,version='1.0' encoding='UTF-8')
XmlDoc.appendChild (รูท)
XmlDoc.appendChild(XmlDoc.CreateElement(ราก))
XmlDoc.Save(Server.MapPath(FilePath))
ตั้งค่ารูท = ไม่มีอะไร
ตั้ง XmlDoc = ไม่มีอะไร
โหลดข้อมูล(ZipPathDir)
'เวลาสิ้นสุดโปรแกรม
เวลาสิ้นสุด = ตัวจับเวลา ()
response.Write (เวลาดำเนินการเพจ: & FormatNumber ((เวลาสิ้นสุด - เวลาเริ่มต้น),3)& วินาที)
สิ้นสุดย่อย
-
</ร่างกาย>
</html>
บันทึกสิ่งต่อไปนี้เป็น Install.asp และรันเมื่อติดตั้งไฟล์บรรจุภัณฑ์ XML
คัดลอกรหัสรหัสดังต่อไปนี้:
<%@LANGUAGE=รหัส VBSCRIPT=65001%>
<%ตัวเลือกที่ชัดเจน%>
<%OnErrorResumeNext%>
<% การตอบกลับ 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>
<หัว>
<metahttp-equiv=Content-Typecontent=text/html; charset=utf-8/>
<title>ตัวแตกไฟล์</title>
</หัว>
<ร่างกาย>
-
Dim strLocalPath
'รับเส้นทางทางกายภาพของโฟลเดอร์ปัจจุบัน
strLocalPath = ซ้าย (Request.ServerVariables (PATH_TRANSLATED), InStrRev (Request.ServerVariables (PATH_TRANSLATED),/))
หรี่แสง objXmlFile
หรี่แสง objNodeList
ติ่ม objFSO
ติ่ม objStream
ดิม ไอ เจ
ตั้งค่า objXmlFile = Server.CreateObject(Microsoft.XMLDOM)
objXmlFile.load (เซิร์ฟเวอร์ MapPath (update.xml))
ถ้า objXmlFile.readyState =4แล้ว
ถ้า objXmlFile.parseError.errorCode =0แล้ว
ตั้งค่า objNodeList = objXmlFile.documentElement.selectNodes(//folder/path)
ตั้งค่า objFSO = CreateObject(Scripting.FileSystemObject)
j = objNodeList.Length -1
สำหรับฉัน =0ถึงเจ
ถ้า objFSO.FolderExists(strLocalPath & objNodeList(i).text)=FalseThen
objFSO.CreateFolder (strLocalPath & objNodeList (i) ข้อความ)
สิ้นสุดถ้า
Response.Write สร้างไดเร็กทอรี & objNodeList(i).text &<br/>
การตอบสนองฟลัช
ต่อไป
ตั้ง objFSO = ไม่มีอะไร
ตั้ง objNodeList = ไม่มีอะไร
ตั้งค่า objNodeList = objXmlFile.documentElement.selectNodes(//file/path)
j = objNodeList.Length -1
สำหรับฉัน =0ถึงเจ
ตั้งค่า objStream = CreateObject(ADODB.Stream)
ด้วย objStream
.ประเภท=1
.เปิด
.เขียน objNodeList(i).nextSibling.nodeTypedvalue
.SaveToFile strLocalPath & objNodeList(i).text,2
Response.Write เผยแพร่ไฟล์ & objNodeList(i).text &<br/>
การตอบสนองฟลัช
.ปิด
จบด้วย
ตั้ง objStream = ไม่มีอะไร
ต่อไป
ตั้ง objNodeList = ไม่มีอะไร
สิ้นสุดถ้า
สิ้นสุดถ้า
ตั้งค่า objXmlFile =ไม่มีอะไร
ตอบกลับ เขียนไฟล์แตกไฟล์เสร็จเรียบร้อย
-
</ร่างกาย>
</html>