Kelas peningkatan online ASP
Penulis:Eve Cole
Waktu Pembaruan:2009-06-26 18:09:15
<%
Rem ################################################# ## ####################################
Rem ## Pernyataan kelas peningkatan online
Kelas Cls_oUpdate
Rem ################################################# ## ##############
Rem ## Deskripsi: Kelas upgrade online ASP
Rem ## Versi: 1.0.0
Rem ## Penulis: Xiao Yuehen
Rem ## MSN: xiaoyuehen(at)msn.com
Rem ## Silakan ganti (at) dengan @
Rem ## Hak Cipta: Karena dibagikan, tidak ada hak cipta. Namun harus dibatasi pada penyebaran online dan tidak dapat digunakan di media tradisional!
Rem ## Jika Anda dapat menaati instruksi ini, saya akan lebih berterima kasih!
Rem ## Jika Anda memiliki pengoptimalan kode yang lebih baik dan peningkatan terkait, harap ingat untuk memberi tahu saya, terima kasih banyak!
Rem ################################################# ## ##############
Versi Lokal Publik, Versi Terakhir, Tipe File
Versi Url Publik, Pembaruan Url, PembaruanLocalPath, Info
Riwayat Url Publik
SstrVersionList pribadi, sarrVersionList, sintLocalVersion, sstrLocalVersion
SstrLogContent pribadi, sstrHistoryContent, sstrUrlUpdate, sstrUrlLocal
Rem ################################################# ## ##############
Sub Kelas Pribadi_Inisialisasi()
Rem ## URL lengkap informasi versi, dimulai dengan http://
Rem ## Contoh: http://localhost/software/Version.htm
Versi Url = ""
Rem ## Tingkatkan URL, dimulai dengan http:// dan diakhiri dengan /
Rem ## Contoh: http://localhost/software/
Pembaruan Url = ""
Rem ## Direktori pembaruan lokal, dimulai dengan / dan diakhiri dengan /. Dimulai dengan / adalah untuk mencegah penulisan ke direktori lain.
Rem ## Program akan memeriksa apakah direktori tersebut ada, jika tidak ada maka akan dibuat secara otomatis.
PerbaruiLocalPath = "/"
Rem ## File riwayat perangkat lunak yang dihasilkan
UrlHistory = "history.htm"
Rem ## Pesan prompt terakhir
Info = ""
Rem ## Versi saat ini
Versi Lokal = "1.0.0"
Rem ## versi terbaru
Versi Terakhir = "1.0.0"
Rem ## Nama akhiran setiap file informasi versi
Tipe File = ".asp"
Akhiri Sub
Rem ################################################# ## ##############
Rem ################################################# ## ##############
Sub Kelas_Terminate() Pribadi
Akhiri Sub
Rem ################################################# ## ##############
Rem ## Lakukan tindakan peningkatan
Rem ################################################# ## ##############
Fungsi publik doUpdate()
doUpdate = Salah
UrlVersion = Pangkas(UrlVersion)
UrlUpdate = Pangkas(UrlUpdate)
Rem ## Tingkatkan deteksi URL
Jika (Kiri(UrlVersion, 7) <> " http://"<IMG SRC="smile/05.gif"> Atau (Kiri(UrlUpdate, 7) <> " http://"<IMG SRC="smile /05.gif">Lalu
Info = "URL deteksi versi kosong, URL pemutakhiran kosong atau formatnya salah (#1)"
Fungsi keluar
Akhiri Jika
Jika Benar(UrlUpdate, 1) <> "/" Lalu
sstrUrlUpdate = Pembaruan Url & "/"
Kalau tidak
sstrUrlUpdate = Pembaruan Url
Akhiri Jika
Jika Benar(UpdateLocalPath, 1) <> "/" Lalu
sstrUrlLocal = PerbaruiLocalPath & "/"
Kalau tidak
sstrUrlLocal = PerbaruiLocalPath
Akhiri Jika
Rem ## Informasi versi saat ini (angka)
sstrLocalVersion = Versi Lokal
sintLocalVersion = Ganti(sstrLocalVersion, ".", ""<IMG SRC="smile/05.gif">
sintLocalVersion = toNum(sintLocalVersion, 0)
Rem ## Deteksi versi (inisialisasi informasi versi dan bandingkan)
Jika IsLastVersion Kemudian Keluar dari fungsi
Rem ## Mulai upgrade
doUpdate = SekarangUpdate()
Versi Terakhir = sstrLocalVersion
Fungsi akhir
Rem ################################################# ## ##############
Rem ## Periksa apakah ini versi terbaru
Rem ################################################# ## ##############
Fungsi pribadi IsLastVersion()
Rem ## Inisialisasi informasi versi (inisialisasi array sarrVersionList)
Jika iniVersionList Lalu
Rem ## Jika berhasil, bandingkan versinya
Redupkan saya
IsLastVersion = Benar
Untuk i = 0 hingga UBound(sarrVersionList)
Jika sarrVersionList(i) > sintLocalVersion Lalu
Rem ## Jika ada versi terbaru, keluar dari loop
IsLastVersion = Salah
Info = "Sudah versi terbaru!"
Keluar Untuk
Akhiri Jika
Berikutnya
Kalau tidak
Rem ## Jika tidak, kembalikan pesan kesalahan
IsLastVersion = Benar
Info = "Kesalahan saat mendapatkan informasi versi!(#2)"
Akhiri Jika
Fungsi akhir
Rem ################################################# ## ##############
Rem ## Periksa apakah ini versi terbaru
Rem ################################################# ## ##############
Fungsi pribadi iniVersionList()
iniVersionList = Salah
Redupkan strVersion
strVersion = getVersionList()
Rem ## Jika nilai kembalian kosong, inisialisasi gagal.
Jika strVersion = "" Lalu
Info = "Kesalahan......"
Fungsi keluar
Akhiri Jika
sstrVersionList = Ganti(strVersion, " ", ""<IMG SRC="smile/05.gif">
sarrVersionList = Berpisah(sstrVersionList, vbCrLf)
iniVersionList = Benar
Fungsi akhir
Rem ################################################# ## ##############
Rem ## Periksa apakah ini versi terbaru
Rem ################################################# ## ##############
Fungsi pribadi getVersionList()
getVersionList = DapatkanKonten(UrlVersion)
Fungsi akhir
Rem ################################################# ## ##############
Rem ## Mulai memperbarui
Rem ################################################# ## ##############
Fungsi pribadi NowUpdate()
Redupkan saya
Untuk i = UBound(sarrVersionList) hingga 0 langkah -1
Panggil doUpdateVersion(sarrVersionList(i))
Berikutnya
Info = "Peningkatan selesai! <a href=""" & sstrUrlLocal & UrlHistory & """>Lihat</a>"
Fungsi akhir
Rem ################################################# ## ##############
Rem ## Konten versi yang diperbarui
Rem ################################################# ## ##############
Fungsi pribadi doUpdateVersion(strVer)
doUpdateVersion = Salah
Redupkan intVer
intVer = toNum(Ganti(strVer, ".", ""<IMG SRC="smile/05.gif">, 0)
Rem ## Jika versi yang diperbarui lebih kecil dari versi saat ini, keluar dari pembaruan
Jika intVer <= sintLocalVersion Lalu
Fungsi keluar
Akhiri Jika
Redupkan strFileListContent, arrFileList, strUrlUpdate
strUrlUpdate = sstrUrlUpdate & intVer & Tipe File
strFileListContent = DapatkanKonten(strUrlUpdate)
Jika strFileListContent = "" Lalu
Fungsi keluar
Akhiri Jika
Rem ## Perbarui nomor versi saat ini
sintLocalVersion = intVer
sstrLocalVersion = strVer
Redupkan aku, arrTmp
Rem ## Dapatkan daftar file pembaruan
arrFileList = Pisahkan(strFileListContent, vbCrLf)
Rem ## Perbarui log
sstrLogKonten = ""
sstrLogContent = sstrLogContent & strVer & ":" & vbCrLf
Rem ## Mulai memperbarui
Untuk i = 0 hingga UBound(arrFileList)
Rem ## Format pembaruan: nomor versi/file.htm|file tujuan
arrTmp = Pisahkan(arrFileList(i), "|"<IMG SRC="smile/05.gif">
sstrLogContent = sstrLogContent & vbTab & arrTmp(1)
Panggil doUpdateFile(intVer & "/" & arrTmp(0), arrTmp(1))
Berikutnya
Rem ## Tulis ke file log
sstrLogContent = sstrLogContent & Sekarang() & vbCrLf
respon.Write("<pre>" & sstrLogContent & "</pre>"<IMG SRC="smile/05.gif">
Panggil sDoCreateFile(Server.MapPath(sstrUrlLocal & "Log" & intVer & ".htm"<IMG SRC="smile/05.gif">, _ "<pre>" & sstrLogContent & "</pre>"<IMG SRC ="senyuman/05.gif">
Hubungi sDoAppendFile(Server.MapPath(sstrUrlLocal & UrlHistory), "<pre>" & _ strVer & "_______" & Now() & "</pre>" & vbCrLf)
Fungsi akhir
Rem ################################################# ## ##############
Rem ## perbarui file
Rem ################################################# ## ##############
Fungsi pribadi doUpdateFile(strSourceFile, strTargetFile)
Redupkan strContent
strContent = DapatkanKonten(sstrUrlUpdate & strSourceFile)
Rem ## Perbarui dan tulis ke log
Jika sDoCreateFile(Server.MapPath(sstrUrlLocal & strTargetFile), strContent) Lalu
sstrLogContent = sstrLogContent & "Sukses" & vbCrLf
Kalau tidak
sstrLogContent = sstrLogContent & "Gagal" & vbCrLf
Akhiri Jika
Fungsi akhir
Rem ################################################# ## ##############
Rem ## Dapatkan konten dari jarak jauh
Rem ################################################# ## ##############
Fungsi pribadi GetContent(strUrl)
Dapatkan Konten = ""
Redupkan oXhttp, strContent
Setel oXhttp = Server.CreateObject("Microsoft.XMLHTTP"<IMG SRC="smile/05.gif">
'Pada Kesalahan Lanjutkan Berikutnya
Dengan oXhttp
.Buka "GET", strUrl, False, "", ""
.Mengirim
Jika .readystate <> 4 Kemudian Keluar dari fungsi
strContent = .Responsebody
strKonten = sBytesToBstr(strKonten)
Akhiri Dengan
Setel oXhttp = Tidak Ada
Jika Err.Number <> 0 Lalu
respon.Tulis(Err.Deskripsi)
Err. Jelas
Fungsi keluar
Akhiri Jika
DapatkanKonten = strKonten
Fungsi akhir
Rem ################################################# ## ##############
Rem ################################################# ## ##############
Rem ## Pengkodean biner konversi => string
Fungsi pribadi sBytesToBstr(vIn)
dimobjStream
setel objStream = Server.CreateObject("adodb.stream"<IMG SRC="smile/05.gif">
objStream.Jenis = 1
objStream.Mode = 3
objStream.Buka
objStream.Tulis vIn
objStream.Posisi = 0
objStream.Jenis = 2
objStream.Charset = "GB2312"
sBytesToBstr = objStream.ReadText
objStream.Tutup
setel objStream = tidak ada
Fungsi akhir
Rem ################################################# ## ##############
Rem ################################################# ## ##############
Rem ## Pengkodean biner konversi => string
Fungsi pribadi sDoCreateFile(strFileName, ByRef strContent)
sDoCreateFile = Salah
Redupkan strPath
strPath = Kiri(strFileName, InstrRev(strFileName, "", -1, 1))
Rem ## Periksa validitas jalur dan nama file
Jika Tidak(CreateDir(strPath)) Kemudian Keluar dari fungsi
'Jika Tidak(CheckFileName(strFileName)) Kemudian Keluar dari fungsi
'respons.Tulis(strFileName)
Const UntukMembaca = 1, UntukMenulis = 2, UntukMenambahkan = 8
Redupkan fso, f
Setel fso = CreateObject("Scripting.FileSystemObject"<IMG SRC="smile/05.gif">
Setel f = fso.OpenTextFile(strFileName, ForWriting, True)
f.Tulis strKonten
f.Tutup
Tetapkan fso = tidak ada
Tetapkan f = tidak ada
sDoCreateFile = Benar
Fungsi akhir
Rem ################################################# ## ##############
Rem ################################################# ## ##############
Rem ## Pengkodean biner konversi => string
Fungsi pribadi sDoAppendFile(strFileName, ByRef strContent)
sDoAppendFile = Salah
Redupkan strPath
strPath = Kiri(strFileName, InstrRev(strFileName, "", -1, 1))
Rem ## Periksa validitas jalur dan nama file
Jika Tidak(CreateDir(strPath)) Kemudian Keluar dari fungsi
'Jika Tidak(CheckFileName(strFileName)) Kemudian Keluar dari fungsi
'respons.Tulis(strFileName)
Const UntukMembaca = 1, UntukMenulis = 2, UntukMenambahkan = 8
Redupkan fso, f
Setel fso = CreateObject("Scripting.FileSystemObject"<IMG SRC="smile/05.gif">
Setel f = fso.OpenTextFile(strFileName, ForAppending, True)
f.Tulis strKonten
f.Tutup
Tetapkan fso = tidak ada
Tetapkan f = tidak ada
sDoAppendFile = Benar
Fungsi akhir
Rem ################################################# ## ##############
Rem ## Program untuk membuat direktori. Jika ada beberapa tingkat direktori, buatlah satu per satu.
Rem ################################################# ## ##############
Fungsi pribadi CreateDir(ByVal strLocalPath)
Redupkan saya, strPath, objFolder, tmpPath, tmptPath
Redupkan arrPathList, intLevel
'Pada Kesalahan Lanjutkan Berikutnya
strPath = Ganti(strLocalPath, "", "/"<IMG SRC="smile/05.gif">
Setel objFolder = server.CreateObject("Scripting.FileSystemObject"<IMG SRC="smile/05.gif">
arrPathList = Berpisah(strPath, "/"<IMG SRC="smile/05.gif">
intLevel = UBound(arrPathList)
Untuk I = 0 Ke intLevel
Jika saya = 0 Maka
tmptPath = arrPathList(0) & "/"
Kalau tidak
tmptPath = tmptPath & arrPathList(I) & "/"
Akhiri Jika
tmpPath = Kiri(tmptPath, Len(tmptPath) - 1)
Jika Bukan objFolder.FolderExists(tmpPath) Kemudian objFolder.CreateFolder tmpPath
Berikutnya
Setel objFolder = Tidak Ada
Jika Err.Number <> 0 Lalu
CreateDir = Salah
Err. Jelas
Kalau tidak
CreateDir = Benar
Akhiri Jika
Fungsi akhir
Rem ################################################# ## ##############
Rem ## konversi bilangan bulat panjang
Rem ################################################# ## ##############
Fungsi pribadi toNum(s, default)
Jika IsNumeric(s) dan s <> "" maka
toNum = CLng(s)
Kalau tidak
toNum = bawaan
Akhiri Jika
Fungsi akhir
Rem ################################################# ## ##############
Kelas Akhir
Rem ################################################# ## ####################################
%>