تم تجميع أداة تعبئة التعليمات البرمجية المصدر xml asp الخاصة بـ Liu Yongfa في ملف xml منفصل، ويمكنك تثبيتها مباشرة على الخادم وحفظها بتنسيق Pack.asp.
انسخ رمز الكود كما يلي:
<%@LANGUAGE=صفحة كود VBSCRIPT=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>
<الرأس>
<metahttp-equiv=Content-Typecontent=text/html;
<title>برنامج تغليف الملفات</title>
</الرأس>
<الجسم>
<%
ديم ZipPathDir، ZipPathFile
وقت البداية الخافت، وقت النهاية
'قم بتغيير مسار المجلد المراد تعبئته هنا
ZipPathDir =F:/www.yongfa365.com'
ZipPathFile =update.xml
إذا كان على اليمين (ZipPathDir,1)<>/ ثم ZipPathDir = ZipPathDir&/
"ابدأ بالتعبئة."
كريتكسمل (ملف زيباث)
"اجتياز جميع الملفات والمجلدات الموجودة في الدليل."
بيانات التحميل الفرعية (DirPath)
DimXmlDoc
كائن fso خافت
خافت objFolder "كائن المجلد".
مجموعة المجلدات الفرعية Dim objSubFolders
Dim objSubFolder 'كائن المجلد الفرعي
مجموعة الملفات Dim objFiles
خافت objFile 'كائن الملف
خافت objStream
اسم المسار الخافت، TextStream، pp، Xfolder، Xfpath، Xfile، Xpath، Xstream
DimPathNameStr
Response.Write(===========<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(folder))
تعيين Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement(path))
Xfpath.text = استبدال (DirPath، ZipPathDir،)
تعيين objFiles = objFolder.Files
ForEach objFile في objFiles
إذا كان LCase(DirPath & objFile.Name)<> LCase(Request.ServerVariables(PATH_TRANSLATED))ثم
الاستجابة.اكتب ---<br/>
PathNameStr = DirPath && objFile.Name
الاستجابة.اكتب اسم المسار &
الاستجابة. فلوش
"=======================================================================================
'اكتب المسار ومحتوى الملف
تعيين 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.Open()
objStream.LoadFromFile(PathNameStr)
objStream.position =0
تعيين Xstream = Xfile.AppendChild(XmlDoc.CreateElement(stream))
Xstream.SetAttribute xmlns:dt,urn:schemas-microsoft-com:datatypes
'يتم تخزين محتوى الملف في الوضع الثنائي
Xstream.dataType =bin.base64
Xstream.nodeTypedValue = objStream.Read()
اضبط objStream = لا شيء
اضبط Xpath = لا شيء
اضبط Xstream = لا شيء
تعيين Xfile = لا شيء
"=======================================================================================
EndIf
التالي
الرد.اكتب <p>
XmlDoc.Save(Server.Mappath(ZipPathFile))
اضبط Xfpath = لا شيء
تعيين Xfolder = لا شيء
اضبط XmlDoc = لا شيء
'تم إنشاء كائن مجلد فرعي
تعيين objSubFolders = objFolder.SubFolders
'استدعاء المجلدات الفرعية اجتياز بشكل متكرر
ForEach objSubFolder في objSubFolders
اسم المسار = DirPath & objSubFolder.Name &/
تحميل البيانات (اسم المسار)
التالي
تعيين objFolder = لا شيء
قم بتعيين objSubFolders = لا شيء
تعيين fso=لا شيء
EndSub
'قم بإنشاء ملف XML فارغ للتحضير للكتابة إلى الملف
إنشاءXml الفرعي (مسار الملف)
'يبدأ وقت تنفيذ البرنامج
وقت البدء = الموقت ()
خافت XmlDoc، الجذر
تعيين XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.async = خطأ
تعيين الجذر = XmlDoc.createProcessingInstruction(xml,version='1.0' encoding='UTF-8')
XmlDoc.appendChild (الجذر)
XmlDoc.appendChild(XmlDoc.CreateElement(root))
XmlDoc.Save(Server.MapPath(FilePath))
تعيين الجذر = لا شيء
اضبط XmlDoc = لا شيء
تحميل البيانات (ZipPathDir)
""وقت انتهاء البرنامج""
نهاية الوقت = الموقت ()
الاستجابة. الكتابة (وقت تنفيذ الصفحة: & رقم التنسيق ((وقت الانتهاء - وقت البدء)، 3) والثواني)
EndSub
%>
</الجسم>
</html>
احفظ ما يلي باسم Install.asp وقم بتشغيله عند تثبيت ملف حزمة XML.
انسخ رمز الكود كما يلي:
<%@LANGUAGE=صفحة كود VBSCRIPT=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>
<الرأس>
<metahttp-equiv=Content-Typecontent=text/html;
<title>أداة فك ضغط الملفات</title>
</الرأس>
<الجسم>
<%
خافت strLocalPath
"احصل على المسار الفعلي للمجلد الحالي."
strLocalPath = Left(Request.ServerVariables(PATH_TRANSLATED), InStrRev(Request.ServerVariables(PATH_TRANSLATED),/))
خافت objXmlFile
خافت objNodeList
خافت objFSO
خافت objStream
خافت ط، ي
تعيين objXmlFile = Server.CreateObject(Microsoft.XMLDOM)
objXmlFile.load(Server.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).text)
EndIf
يقوم Response.Write بإنشاء الدليل وobjNodeList(i).text &<br/>
الاستجابة. فلوش
التالي
تعيين objFSO = لا شيء
قم بتعيين objNodeList = لا شيء
تعيين objNodeList = objXmlFile.documentElement.selectNodes(//file/path)
j = objNodeList.Length -1
لأني = 0 إلى ي
تعيين objStream = CreateObject(ADODB.Stream)
مع أوبجستريم
.النوع=1
.يفتح
.اكتب objNodeList(i).nextSibling.nodeTypedvalue
.SaveToFile strLocalPath & objNodeList(i).text,2
ملف إصدارات Response.Write & objNodeList(i).text &<br/>
الاستجابة. فلوش
.يغلق
نهاية مع
اضبط objStream = لا شيء
التالي
قم بتعيين objNodeList = لا شيء
EndIf
EndIf
اضبط objXmlFile = لا شيء
اكتمل تفريغ ملف الاستجابة
%>
</الجسم>
</html>