佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > asp打包類(lèi)

asp打包類(lèi)

熱門(mén)標(biāo)簽:Linux服務(wù)器 Mysql連接數(shù)設(shè)置 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 阿里云 電子圍欄 銀行業(yè)務(wù) 團(tuán)購(gòu)網(wǎng)站 服務(wù)器配置
%
On Error Resume Next
Dim r
Set r = New Rar

r.Add Server.MapPath("a.gIf")
r.Add Server.MapPath("a.txt")
r.Add Server.MapPath("test")
r.Add Server.MapPath("file.asp")
r.packname = Server.MapPath("xxx.dat")
r.Pack
r.rootpath = Server.MapPath("xxx")
r.packname = Server.MapPath("xxx.dat")
r.UnPack

Response.Write(Err.Description)
Set r = Nothing
%>
script Language="Vbscript" Runat="server">
'-----------------------------------------------------
' 描述: Asp打包類(lèi)
' 作者: 小灰(quxiaohui_0@163.com)
' 鏈接: http://asp2004.net http://blog.csdn.net/iuhxq http://bbs.asp2004.net
' 版本: 1.0 Beta
' 版權(quán): 本作品可免費(fèi)使用,但是請(qǐng)勿移除版權(quán)信息
'-----------------------------------------------------
Class Rar
 Dim files,packname,s,s1,s2,rootpath,fso,f,buf
 Private Sub Class_Initialize
 Randomize
 Dim ranNum
 ranNum = Int(90000 * Rnd) + 10000
 packname = Year(Now)Month(Now)Day(Now)Hour(Now)Minute(Now)Second(Now)ranNum".asp2004"

 rootpath = Server.MapPath("./")

 Set files = server.CreateObject("Scripting.Dictionary")
 Set fso = Server.CreateObject("Scripting.FileSystemObject")

 Set s = server.CreateObject("ADODB.Stream"):s.Open:s.Type = 1
 Set s1 = server.CreateObject("ADODB.Stream"):s1.Open:s1.Type = 1
 Set s2 = server.CreateObject("ADODB.Stream"):s2.Open:s2.Type = 2
 End Sub

 Private Sub Class_Terminate
 s.Close:Set s = Nothing
 s1.Close:Set s1 = Nothing
 s2.Close:Set s2 = Nothing

 Set fso = Nothing
 End Sub

 Public Sub Add(obj)
 If fso.FileExists(obj) Then
 Set f = fso.GetFile(obj)
 files.Add obj,f.Size
 ElseIf fso.FolderExists(obj) Then
 files.Add obj,-1
 Set f = fso.GetFolder(obj)
 Set fc = f.Files
 For Each f1 in fc
 Add(LCase(f1.Path))
 Next
 End If
 End Sub

 Public Sub Pack
 Dim str
 a = files.Keys
 b = files.Items
 for i=0 to files.count-1
 If b(i)>=0 Then
 s.LoadFromFile(a(i))
 buf = s.Read
 If Not IsNull(buf) Then s1.Write(buf)
 End If
 str = str  b(i)">"Replace(a(i),rootpath,"")vbCrLf
 next
 str = CStr(Right("000000000"len(str),10))  str
 buf = TextToStream(str)
 s.Position = 0
 s.Write buf
 s1.Position = 0
 s.Write s1.Read
 s.SetEOS
 s.SaveToFile(packname)
 End Sub

 Public Sub UnPack

 If Not fso.FolderExists(rootpath) Then
 fso.CreateFolder(rootpath)
 End If
 Dim size
 '轉(zhuǎn)換文件大小
 s.LoadFromFile(packname)
 size = CInt(StreamToText(s.Read(10)))
 str = StreamToText(s.Read(size))
 arr = Split(str,vbCrLf)

 for i=0 to Ubound(arr)-1
 arrFile = Split(arr(i),">")
 If arrFile(0)  0 Then
 If Not fso.FolderExists(rootpatharrFile(1)) Then
 fso.CreateFolder(rootpatharrFile(1))
 End If
 ElseIf arrFile(0) >= 0 Then
 If fso.FileExists(rootpatharrFile(1)) Then
 fso.DeleteFile(rootpatharrFile(1))
 End If
 s1.Position = 0
 buf = s.Read(arrFile(0))
 If Not IsNull(buf) Then s1.Write(buf)
 s1.SetEOS
 s1.SaveToFile(rootpatharrFile(1))
 End If
 Next
 End Sub

 Public Function StreamToText(stream)
 If IsNull(stream) Then
 StreamToText = ""
 Else
 Set sm = server.CreateObject("ADODB.Stream"):sm.Open:sm.Type = 1
 sm.Write(stream)
 sm.Position = 0
 sm.Type = 2
 sm.charset = "gb2312"
 sm.Position = 0
 StreamToText = sm.ReadText()
 sm.Close:Set sm = Nothing
 End If
 End Function

 Public Function TextToStream(text)
 If text="" Then
 TextToStream = "" '這里該如何寫(xiě)?空流?
 Else
 Set sm = server.CreateObject("ADODB.Stream"):sm.Open:sm.Type = 2:sm.charset = "gb2312"
 sm.WriteText(text)
 sm.Position = 0
 sm.Type = 1
 sm.Position = 0
 TextToStream = sm.Read
 sm.Close:Set sm = Nothing
 End If
 End Function
End Class
/script>

標(biāo)簽:廣元 江蘇 大理 蚌埠 棗莊 萍鄉(xiāng) 衢州 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp打包類(lèi)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266
    阜城县| 隆昌县| 大关县| 北辰区| 新营市| 万宁市| 仙居县| 新和县| 邹平县| 洛南县| 兰溪市| 德格县| 鞍山市| 双鸭山市| 临沧市| 铜梁县| 若羌县| 荔波县| 伊宁市| 金塔县| 都匀市| 青岛市| 海盐县| 通化市| 伊宁市| 鲁山县| 广水市| 溧阳市| 甘德县| 龙陵县| 台前县| 绥中县| 越西县| 文安县| 东阿县| 富顺县| 安新县| 炎陵县| 安陆市| 留坝县| 南岸区|