最近では、仮想ホスティングWebサイトの構築が人気があります。私もウェブサイトを持っています。また、ウェブマスターでもあります。 1年近くの作業の後、ウェブサイトプログラムがアップグレードされるたびに、まず公式ウェブサイトにアクセスして、アナウンスを読み、アップグレードパッケージをローカルエリアにダウンロードし、減圧し、FTPを仮想ホストにアップロードしていると感じています。これらはすべて疲れた物理的なタスクであり、私はあまりにも怠zyで非常に怠け者であるため、私は素晴らしく、プログラムを自動的にアップグレードできるとすると素晴らしいと思いました。だから私はそれについて考えて、この記事を書いて、それがWebプログラム開発者に役立つことを望んでいます。私はASPしか知っているので、これはASPのみのためです:-(
まず、従来のWin32プログラム(Antivirusソフトウェアなど)のアップグレードプロセスを見てみましょう。ソフトウェアアップグレードプログラムに依存して、ネットワークを介してサーバーに接続して、アップグレードファイルをローカルエリアに分析およびダウンロードします。
Webプログラムは、Webサーバーで実行されるため、少し異なります。最終的には、アップグレードサーバー上のファイルをWebサーバーに上書きする必要があり、Webマスターのコンピューターは単なる転送です。アップグレードサーバー上のファイルをWebサーバーに直接コピーすると(Webマスターを通過することなく)、自動アップグレードが達成されます。
幸いなことに、このシステムには、WebにアクセスするためのMicrosoft.xmlhttpコンポーネントが付属しています。アップグレードサーバーに接続するためにASPで呼び出されて、アップグレードファイルをダウンロードできます。
次のコードは、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.savetofileserver.mappath( "update.exe")、2
Setsget = Nothing
setSpost =何もない
Response.write( "ファイルを正常にダウンロード!<br>"))
%>
上記のコードは、http://www.0x54.org/test.exeをWebサーバーの現在のディレクトリに保存することです。 Microsoft.xmlhttpのより多くの使用については、MSDNを確認してください。
多くのファイルがある場合、Microsoft.xmlhttpが複数回呼び出され、ネットワークに接続され、一部のファイルが特定の接続で更新できない場合があります。これを回避するには、すべてのファイルを1つのファイルにパッケージ化し、1回Webにダウンロードする前にWebにダウンロードすることをお勧めします。
ハハ、ここで言及されているパッケージはRARやzipパッケージではありませんが、自分で定義します。たとえば、すべてのファイルを1つにスプライスし、特別なマークに従って分離します。既製の方法があるため、今はそれほど面倒ではありません。使用する方法を使用します。すべてのファイル(バイナリフォーム)とそのパス情報をアクセスデータベースに入れます。
次のVBSファイル(Ocean Top 2006Plusから)は、現在のディレクトリ内のすべてのファイルをパッケージ化することです。
dimn、ws、fsox、thepath
setws = createObject( "wscript.shell")
setFSOX = createObject( "Scripting.filesystemObject")
path = ws.exec( "cmd/ccd")。stdout.readall()& "/"
i = strust(thepath、chr(13))
path = left(thepath、i-1)
n = len(ThePath)
onerrorresumenext
addtomdb(ThePath)
wscript.echo「現在のディレクトリはパッケージ化されています、ルートディレクトリは現在のディレクトリです」