Recommandé: conseils pour les objets d'erreur ASP Dans VBScript, il y a une instruction NEXT CV ERROR REPOS qui oblige l'interprète de script à ignorer les erreurs d'exécution et à continuer l'exécution du code de script. Ensuite, le script peut vérifier la valeur de la propriété Err.Number pour déterminer si une erreur s'est produite. Si une erreur se produit, une valeur non nulle est renvoyée. Dans ASP 3.0, vous pouvez également utiliser sur Error Goto 0 pour "revenir à" la valeur par défaut
- '==============================================.
- 'Fichier 1
- 'Pack.asp
- 'Changer le nom de CPATHNAME cette variable
- «Un fichier data.xml sera généré dans le répertoire actuel
- 'Télécharger data.xml et fichier 2 (install.asp) vers le répertoire de racine Web
- 'Run install.asp déballage
- 'Supprimer manuellement les deux fichiers ci-dessus
- '==============================================.
- <% OptionExplicite%>
- <% OnerrorResumeNext%>
- <%
- Server.scriptTimeout = 99999999
- tamis
- DimStartime, EndTime
- 'Changez le chemin vers le dossier à emballer ici
- Cpathname = f: Webymr
- startTime = TIMER ()
- functionbianli (chemin)
- dimdoc
- objet dimfso'fso
- objet de dossier dimobjfolder
- Collection des sous-dossiers de DimobjSubfolders
- Objet du sous-dossier de DimobjSubFolder
- Collection de fichiers de Dimobjfiles
- objet de fichier dimobjfile
- dimobjstream
- DimPathName, TextStream, PP, XFolder, Xfpath, XFile, Xpath, Xstream
- setfso = server.createObject (scripting.fileSystemObject)
- setObjfolder = fso.getfolder (chemin) 'Créer un objet de dossier
- Réponse.WritePath
- Réponse.flush
- SetDoc = server.createObject (msxml2.domDocument)
- doc.loadserver.mappath (data.xml)
- doc.async = false
- 'Écrivez sur chaque chemin de dossier
- setXfolder = doc.selectSingLenode (// z-blog) .APPENDCHILD (doc.createelement (dossier))
- Setxfpath = xfolder.appendChild (doc.createelement (chemin))
- Xfpath.text = remplacer (path, cpathname,)
- setObjFiles = objfolder.files
- foreachobjfileinobjfiles
- Réponse.
- ---
- pp = path && objfile.name
- Réponse.writep &
- Réponse.flush
- '=========================================================.
- 'Le chemin d'accès vers le fichier et le contenu du fichier
- setXFile = doc.selectSingLenode (// z-blog) .APPENDCHILD (doc.createelement (fichier))
- SetXpath = xFile.ApendChild (doc.createelement (chemin))
- Xpath.text = remplacer (pp, cpathname,)
- 'Créez un flux de fichiers pour lire le contenu du fichier et l'écrire dans le fichier XML
- SetObjstream = server.createObject (Adodb.stream)
- objstream.type = 1
- objstream.open ()
- objstream.loadFromfile (pp)
- objstream.position = 0
- SetXStream = xFile.ApendChild (doc.createelement (stream))
- Xstream.setAttributexmlns: DT, Urn: schémas-microsoft-com: datatypes
- 'Le contenu du fichier est stocké en deux systèmes
- Xstream.datatype = bin.base64
- Xstream.NodeTypedValue = objstream.read ()
- setObjstream = rien
- setXpath = rien
- setXstream = rien
- setXFile = rien
- '=========================================================.
- suivant
- Réponse.write <p>
- doc.saveserver.mappath (data.xml)
- setXfpath = rien
- setXfolder = rien
- setDoc = rien
- 'Création d'un objet de sous-dossier
- setObjSubfolders = objfolder.subfolders
- `` Appelez des sous-dossiers de traverse récursivement
- foreachobjsubfolderinobjsubfolders
- pathPathName = path ++ objsubfolder.name
- Bianli (Pathname)
- suivant
- setObjfolder = rien
- setObjSubfolders = rien
- setfso = rien
- finition de fin
- dimdoc, objpi
- 'Créez un fichier XML vide pour préparer l'écriture dans le fichier
- 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 = rien
- setDoc = rien
- Bianli (cpathname)
- Endtime = Timer ()
- %>
- Temps d'exécution de la page: <% = formatNumber ((fin de temps de fin), 3)%> secondes
- '==========================================.
- 'Fichier 2
- 'install.asp
- 'Ce fichier est modifié à partir du fichier d'installation Z-Blog
- '==========================================.
- <% @ Codepage = 65001%>
- <% OptionExplicite%>
- <% OnerrorResumeNext%>
- <% Response.Charset = UTF-8%>
- <html>
- <adal>
- <Title> Programme de déballage de fichiers </TITAL>
- </ head>
- <body>
- <TexaRename = contentCols = 90Rows = 20Style = Border: 0px; Overflow: Auto; Border-width: 0px; largeur: 100%; background-Color: # e8f3ff; Scrolling = Auto>
- <%
- Dimstrlocalpath
- 'Obtenez le chemin physique vers le dossier actuel
- strLocalPath = Left (request.servervariables (path_translated), instrrev (request.servervariables (path_translated),)))
- Dimstrdbpath
- Dimobjxmlfile
- Dimobjnodeliste
- Dimobjfso
- Dimobjstream
- Dimi, J
- SetObjxmlFile = server.createObject (Microsoft.xmldom)
- objxmlfile.load (server.mappath (data.xml))
- IfoBjxmlfile.readystate = 4Then
- IfoBjxmlfile.parseerror.errorcode = 0THEN
- SetObjNodeList = objxmlfile.documentElement.SelectNodes (// dossier / chemin)
- SetObjfso = createObject (scripting.fileSystemObject)
- j = objnodelist.length-1
- Fori = 0toj
- Ifobjfso.folderexists (strlocalpath & objnodelist (i) .text) = falsethhen
- objfso.createfolder (strlocalpath & objnodelist (i) .text)
- Endire
- Response.WriteCreate Directory & ObjNodelist (i) .Text & vBcrlf
- Réponse.flush
- Suivant
- SetObjNodeList = objxmlfile.documentElement.SelectNodes (// fichier / chemin)
- j = objnodelist.length-1
- Fori = 0toj
- SetObjStream = CreateObject (adodb.stream)
- Sansbjstream
- .Type = 1
- .Ouvrir
- .WriteObjNodelist (i) .NextSibling.NodeTypedValue
- .Savetofilestlocalpath & objnodelist (i) .Text, 2
- Réponse.Write Fichier de version et objnodelist (i) .Text & vbcrlf
- Réponse.flush
- .Fermer
- Fin
- SetObjstream = rien
- Suivant
- Endire
- Endire
- %>
- </ textarea>
- <% Response.Write <Script> alert ('Fichier Unpacked Complete!'); </cript>%>
Partager: collection utile de fonctions dans le développement ASP (1) Une collection de fonctions utiles dans le développement ASP est très utile! J'espère que tout le monde le garde! % '********************************************************' Empêchez la soumission externe '************************************* FONCTION CHKPOST () DIM Server_v1, server_v2 chkpost = false server_v1 = cStr (request.severvari