Рекомендуется: советы по объектам ошибки ASP В VBScript существует оператор RESUME OR RESUME, который заставляет интерпретатора сценария игнорировать ошибки времени выполнения и продолжить выполнение кода скрипта. Затем скрипт может проверить значение свойства err.number, чтобы определить, произошла ли ошибка. Если возникает ошибка, возвращается ненулевое значение. В ASP 3.0 вы также можете использовать на ошибке GOTO 0, чтобы «повернуть обратно в» по умолчанию
- '=================================================
- Файл 1
- 'Pack.asp
- 'Измените cpathname эту переменную
- 'Файл Data.xml будет сгенерирован в текущем каталоге
- 'Загрузить data.xml и file 2 (install.asp) в Web Root Directory
- 'Запустить install.asp Распаковка
- 'Вручную удалите два вышеуказанных файла
- '=================================================
- <%OptionExplicit%>
- <%OnerrorResumenext%>
- <%
- Server.scriptTimeout = 99999999
- Dimcpathname
- DimStatim -Time, конечное время
- 'Измените путь на папку, которая будет упакована здесь
- CPATHNAME = F: WebSYMR
- startTime = timer ()
- functionbianli (path)
- Dimdoc
- dimfso'fso объект
- Dimobjfolder 'объект папки
- Коллекция подпапки Dimobjsubfolders
- Объект подпапки Dimobjsubfolder
- Коллекция файлов Dimobjfiles
- Dimobjfile 'Файл -объект
- Dimobjstream
- Dimpathname, Textstream, PP, Xfolder, Xfpath, Xfile, Xpath, Xstream
- setfso = server.createObject (scripting.filesystemobject)
- setObjFolder = fso.getFolder (path) 'Create Folder объект
- Response.writepath
- Response.flush
- SetDoc = server.createObject (msxml2.domdocument)
- doc.loadserver.mappath (data.xml)
- doc.async = false
- 'Напишите по каждому пути папки
- setxFolder = doc.selectsingLenode (// z-blog) .appendchild (doc.createElement (папка))
- Setxfpath = xfolder.appendchild (doc.createElement (path))
- Xfpath.text = заменить (path, cpathname,)
- setobjfiles = objfolder.files
- foreachobjfileinobjfiles
- Response.write
- ---
- pp = path && objfile.name
- Response.writep &
- Response.flush
- '=========================================================================
- 'Путь к файлу и содержимое файла
- setXfile = doc.selectsinglenode (// z-blog) .appendchild (doc.createElement (файл))
- SetXpath = xfile.appendchild (doc.createElement (path))
- Xpath.text = reply (pp, cpathname,)
- 'Создайте поток файла для чтения содержимого файла и записать его в файл XML
- SetObjStream = server.createObject (adodb.stream)
- objstream.type = 1
- objstream.open ()
- objstream.loadfromfile (pp)
- objstream.position = 0
- Setxstream = xfile.appendchild (doc.createElement (поток))
- Xstream.setattributexmlns: DT, URN: Schemas-Microsoft-Com: DataTypes
- 'Содержание файла хранится в двухсистеме
- Xstream.datatype = bin.base64
- Xstream.nodetypedvalue = objstream.read ()
- setobjstream = ничего
- setXpath = ничего
- setxstream = ничего
- setxfile = ничего
- '=========================================================================
- следующий
- Response.write <p>
- doc.saveserver.mappath (data.xml)
- setxfpath = ничего
- setxfolder = ничего
- setDoc = ничего
- 'Созданный объект подпапки
- setobjsubfolders = objfolder.subfolders
- 'Позвоните в рекурсивные подпапки
- FOREACHOBJSUBFOLDERINOBJSUBFOLDERSERS
- pathPathName = path ++ objsubfolder.name
- Bianli (pathname)
- следующий
- setobjfolder = ничего
- setobjsubfolders = ничего
- setfso = ничего
- конечная функция
- Dimdoc, objpi
- 'Создайте пустой XML -файл, чтобы подготовиться к написанию в файл
- SetDoc = server.createObject (msxml2.domdocument)
- doc.async = false
- setObjpi = doc.createProcessingInstruction (xml, version = '1.0'encoding =' utf-8 ')
- doc.insertbeforeobjpi, doc.childnodes (0)
- doc.appendchild (doc.createElement (Z-blog))
- doc.saveserver.mappath (data.xml)
- setObjpi = ничего
- setDoc = ничего
- Bianli (cpathname)
- EndTime = Timer ()
- %>
- Время выполнения страницы: <%= formatnumber (((конечное время-временное), 3)%> Секунды
- '======================================================================
- 'Файл 2
- 'install.asp
- 'Этот файл изменен из файла установки Z-Blog
- '======================================================================
- <%@CodePage = 65001%>
- <%OptionExplicit%>
- <%OnerrorResumenext%>
- <%Response.charset = UTF-8%>
- <html>
- <голова>
- <title> Программа распаковки файла </title>
- </head>
- <тело>
- <TextArename = ContentCols = 90Rows = 20style = Border: 0px; переполнение: Auto; WIDTH: 0PX; ширина: 100%; фоновый цвет:#e8f3ff; scolling = auto>
- <%
- Dimstrlocalpath
- 'Получите физический путь к текущей папке
- strlocalpath = left (request.servervariables (path_translated), instrrev (request.servervariables (path_translated),)))
- DimStrdbpath
- Dimobjxmlfile
- Dimobjnodelist
- Dimobjfso
- Dimobjstream
- Дими, J.
- SetObjxmlfile = server.createObject (microsoft.xmldom)
- objxmlfile.load (server.mappath (data.xml))
- Ifobjxmlfile.readystate = 4then
- Ifobjxmlfile.parseerror.errorcode = 0then
- Setobjnodelist = objxmlfile.documentelement.selectnodes (// folder/path)
- SetObjfso = createObject (scripting.filesystemobject)
- j = objnodelist.length-1
- Fori = 0toj
- Ifobjfso.folderexists (strlocalpath & objnodelist (i) .text) = falsethen
- objfso.createfolder (strlocalpath & objnodelist (i) .text)
- Эндиф
- Response.writecreate Directory & objnodelist (i) .Text & vbcrlf
- Response.flush
- Следующий
- Setobjnodelist = objxmlfile.documentelement.selectnodes (// file/path)
- j = objnodelist.length-1
- Fori = 0toj
- SetObjStream = createObject (adodb.stream)
- БЕЗ БИДЕР
- .Type = 1
- .Открыть
- .WriteObjnodelist (i). AnextIbling.NodeTypedValue
- .SavetOfIleStrloCalPath & objnodelist (i) .Text, 2
- Ответ.
- Response.flush
- .Закрывать
- Энд
- Setobjstream = ничего
- Следующий
- Эндиф
- Эндиф
- %>
- </textarea>
- <%response.write <script> alert ('файл распакован заполнен!'); </script>%>
Поделиться: полезный сбор функций в разработке ASP (1) Коллекция полезных функций в разработке ASP довольно полезна! Я надеюсь, что все это сохранит! %'********************************************************