Heutzutage ist das Gebäude auf der virtuellen Hosting -Website beliebt. Ich habe auch eine Website und bin auch ein Webmaster. Nach fast einem Jahr Arbeit habe ich das Gefühl, dass ich jedes Mal, wenn das Website -Programm aktualisiert wird, zuerst auf die offizielle Website gehe, um die Ankündigung zu lesen, dann das Upgrade -Paket in die Region, Dekomprimierung und die FTP in den virtuellen Host hochzuladen. Dies sind alles anstrengende physische Aufgaben, und ich bin zu faul, um sehr faul zu sein, also bin ich fantastisch und dachte, es wäre großartig, wenn das Programm automatisch aktualisiert werden könnte. Also habe ich darüber nachgedacht und diesen Artikel geschrieben, in der Hoffnung, dass es für Webprogrammentwickler hilfreich sein wird. Dies ist nur für ASP, weil ich nur ASP :-( kenne
Schauen wir uns zunächst den Upgrade -Prozess traditioneller Win32 -Programme (wie Antivirus -Software) an. Es stützt sich auf das Software -Upgrade -Programm, um eine Verbindung zum Server über das Netzwerk herzustellen, um die Upgrade -Datei in den lokalen Bereich zu analysieren und herunterzuladen.
Das Webprogramm ist etwas anders, da es auf dem Webserver ausgeführt wird. Es muss letztendlich die Dateien auf dem Upgrade -Server auf den Webserver überschreiben, und der Computer des Webmaster ist nur eine Übertragung. Wenn Sie die Dateien direkt auf dem Upgrade -Server auf den Webserver kopieren (ohne über den Webmaster zu überschreiten), wird automatisches Upgrade durchgeführt.
Glücklicherweise verfügt das System mit einer microsoft.xmlhttp -Komponente für den Zugriff auf Web. Es kann in ASP aufgerufen werden, um eine Verbindung zum Upgrade -Server herzustellen, um die Upgrade -Datei herunterzuladen.
Der folgende Code ist ein Beispiel für das Herunterladen einer Datei mit Microsoft.xmlhttp:
<%
Setxpost = createObject ("microsoft.xmlhttp")
xpost.open "get", "http://www.0x54.org/test.exe", false
xpost.send ()
Setsget = createObject ("adodb.stream")
SGET.MODE = 3
SGET.Type = 1
sget.open ()
SGET.Write (Xpost.ResponseBody)
SGET.SAVETOFILEERVER.MAPPATH ("update.exe"), 2
setsget = nichts
setSpost = nichts
Antwort.Write ("Die Datei erfolgreich herunterladen! <br>")
%>
Der obige Code besteht darin, http://www.0x54.org/test.exe im aktuellen Verzeichnis des Webservers zu speichern. Weitere Informationen zu Microsoft.xmlhttp finden Sie unter msdn.
Wenn es viele Dateien gibt, wird Microsoft.xmlhttp mehrmals aufgerufen, um eine Verbindung zum Netzwerk herzustellen, und einige Dateien können in einer bestimmten Verbindung nicht aktualisiert werden. Um dies zu vermeiden, ist es am besten, alle Dateien in eine Datei zu verpacken und sie einmal in das Web herunterzuladen, bevor Sie sie entpacken.
Haha, die hier erwähnte Verpackung ist kein RAR- oder Reißverschlusspaket, aber wir definieren sie selbst. Spleifen Sie beispielsweise alle Dateien in eine und trennen Sie sie dann nach besonderen Markierungen. Es ist jetzt nicht so mühsam, denn es gibt eine vorgefertigte Methode. Wir verwenden die Methode, um sie zu verwenden: Stellen Sie alle Dateien (Binärform) und deren Pfadinformationen in die Zugriffsdatenbank ein.
Die folgende VBS -Datei (von Ocean Top 2006Plus) besteht darin, alle Dateien im aktuellen Verzeichnis zu verpacken:
Dimn, WS, Fsox, Thepath
Setws = createObject ("wscript.shell")
SetfSox = createObject ("scripting.FilesSystemObject")
thepath = ws.exec ("cmd/ccd"). stdout.readall () & "/"
I = Instrument (ThePath, Chr (13))
thepath = links (thepath, i-1)
n = len (Thepath)
OnErrorresumeNext
Addtomdb (ThePath)
WScript.Echo "Das aktuelle Verzeichnis wurde verpackt, das Stammverzeichnis ist das aktuelle Verzeichnis"