Recomendado: Consejos para objetos de error ASP En VBScript, hay una declaración de reanudación de error ON que hace que el intérprete de script ignore los errores de tiempo de ejecución y continúe la ejecución del código de script. Luego, el script puede verificar el valor de la propiedad Err.Number para determinar si ocurrió un error. Si se produce un error, se devuelve un valor distinto de cero. En ASP 3.0, también puede usar el error GOTO 0 para "volver a" el valor predeterminado
- '==================================
- 'Archivo 1
- 'Pack.asp
- 'Cambiar cpathname esta variable
- 'Se generará un archivo data.xml en el directorio actual
- 'Cargar data.xml y archivo 2 (install.asp) en el directorio raíz web
- 'Ejecutar instalación.asp desempaquetando
- 'Eliminar manualmente los dos archivos anteriores
- '==================================
- <%OpcionExplicit%>
- <%OnerrorResumEnext%>
- <%
- Server.scripttimeout = 99999999
- nombre dimcpathname
- DiMSTARTIME, ENDTIME
- 'Cambie el camino a la carpeta que se empaqueta aquí
- CPATHNAME = F: WebSymr
- starttime = timer ()
- functionBianli (ruta)
- dimdoc
- objeto dimfso'fso
- objeto de carpeta de dimobjfolder '
- Colección de subcarpetas de Dimobjsubfolders
- Objeto de subcarpeta de DimobjSubFolder
- colección de archivos de DimobjFiles
- objeto de archivo dimobjfile '
- dimobjstream
- dimpathName, textstream, pp, xfoler, xfpath, xfile, xpath, xstream
- setfso = server.createObject (scripting.filesystemObject)
- setobjfolder = fso.getfolder (ruta) 'Crear objeto de carpeta
- Respuesta.Writepath
- Respuesta. Flush
- SetDoc = server.createObject (msxml2.domdocument)
- doc.loadserver.mappath (data.xml)
- doc.async = falso
- 'Escribe en cada ruta de carpeta
- setxfolder = doc.selectsinglenode (// z-blog) .appendChild (doc.createElement (carpeta))
- Setxfpath = xfolder.appendChild (doc.createElement (ruta))
- Xfpath.text = reemplazar (ruta, cpathname,)
- setobjfiles = objfolder.files
- foreachobjfileinobjfiles
- Respuesta. Escribe
- ---
- PP = Path && objfile.name
- Respuesta.Writep &
- Respuesta. Flush
- '=====================================================================
- 'La ruta al archivo y el contenido del archivo
- setXfile = doc.selectsinglenode (// z-blog) .appendChild (doc.createElement (archivo))
- SetXpath = xfile.appendChild (doc.createElement (ruta))
- Xpath.text = reemplazar (pp, cpathname,)
- 'Cree una transmisión de archivo para leer el contenido del archivo y escribirlo en el archivo XML
- Setobjstream = server.createObject (ADODB.Stream)
- objstream.type = 1
- objstream.open ()
- objstream.loadFromFile (pp)
- objstream.position = 0
- SetXstream = xfile.appendChild (doc.createElement (stream))
- Xstream.SetAttributexmlns: DT, Urna: Schemas-Microsoft-Com: Tipos de datos
- 'El contenido del archivo se almacena en dos sistemas
- Xstream.datatype = bin.base64
- Xstream.nodetypedValue = objstream.read ()
- setobjstream = nada
- setxpath = nada
- setxstream = nada
- setXfile = nada
- '=====================================================================
- próximo
- Respuesta.Write <P>
- doc.saveserver.mappath (data.xml)
- setxfpath = nada
- setxfolder = nada
- setDoc = nada
- 'Objeto de subcarpeta creado
- setobjsubfolders = objfolder.subfolders
- 'Llamada recursivamente atraviesa subcarpetas
- foreachobjsubfolderinobjsubfolders
- PathPathName = Path ++ objsubfolder.name
- Bianli (nombre de ruta)
- próximo
- setobjfolder = nada
- setobjsubfolders = nada
- setfso = nada
- Función final
- dimdoc, objpi
- 'Cree un archivo XML vacío para prepararse para escribir en el archivo
- SetDoc = server.createObject (msxml2.domdocument)
- doc.async = falso
- setobjpi = Doc.CreateProcessingInstruction (xml, versión = '1.0'Encoding =' UTF-8 ')
- doc.insertbeforeBjpi, doc.childnodes (0)
- doc.appendchild (Doc.CreateElement (Z-Blog))
- doc.saveserver.mappath (data.xml)
- setobjpi = nada
- setDoc = nada
- Bianli (CPATHNAME)
- EndTime = Timer ()
- %>
- Tiempo de ejecución de la página: <%= formatNumber ((endtime-startime), 3)%> segundos
- '===============================================
- 'Archivo 2
- 'Instalar.asp
- 'Este archivo se cambia desde el archivo de instalación de Z-Blog
- '===============================================
- <%@CodePage = 65001%>
- <%OpcionExplicit%>
- <%OnerrorResumEnext%>
- <%Respuesta.CharSet = UTF-8%>
- <html>
- <Evista>
- <title> Programa de desempaquetado de archivos </title>
- </ablo>
- <Body>
- <TextArEname = contentCols = 90Rows = 20Style = border: 0px; desbordamiento: auto; border-width: 0px; ancho: 100%; color de fondo:#e8f3ff; desplazamiento = auto>
- <%
- Dimstrlocalpath
- 'Obtenga el camino físico a la carpeta actual
- strlocalPath = Left (request.serverVariAnbles (path_translated), instrrev (request.ServerVariAbles (PATH_translated),)))
- Dimstrdbpath
- Dimobjxmlfile
- Dimobjnodelista
- Dimobjfso
- Dimobjstream
- Dimi, J
- Setobjxmlfile = server.createObject (microsoft.xmldom)
- objxmlfile.load (server.mappath (data.xml))
- Ifobjxmlfile.readyState = 4then
- Ifobjxmlfile.parseError.errrocode = 0then
- Setobjnodelist = objxmlfile.documentelement.selectnodes (// carpeta/ruta)
- Setobjfso = createObject (scripting.filesystemObject)
- j = objnodelist.length-1
- Fori = 0toj
- Ifobjfso.foldereRexists (strlocalpath & objnodelist (i) .text) = falsethen
- objfso.createFolder (strlocalpath & objnodelist (i) .text)
- Endif
- Response.writeCreate Directorio y objnodelist (i) .Text & vbcrlf
- Respuesta. Flush
- Próximo
- Setobjnodelist = objxmlfile.documentelement.selectnodes (// file/ruta)
- j = objnodelist.length-1
- Fori = 0toj
- Setobjstream = createObject (ADODB.Stream)
- Sinbjstream
- .Type = 1
- .Abierto
- .WriteObJnodelist (i) .Nextsibling.nodetyPedValue
- .Savetofilestrlocalpath & objnodelist (i) .text, 2
- Response.write File de lanzamiento y objnodelist (i) .Text & vbcrlf
- Respuesta. Flush
- .Cerca
- Fin
- Setobjstream = nada
- Próximo
- Endif
- Endif
- %>
- </textarea>
- <%respuesta.write <script> Alert ('File Desempaquetado completo!'); </script>%>
Acción: Colección útil de funciones en el desarrollo de ASP (1) ¡Una colección de funciones útiles en el desarrollo de ASP es bastante útil! ¡Espero que todos lo mantengan! % '****************************************************** 'Prevent external submission'*************************************** function ChkPost() dim server_v1,server_v2 chkpost=false server_v1=Cstr(Request.ServerVari