最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > asp教程

asp打包类技巧

日期:07-20    来源:中国设计秀    作者:cnwebshow.com

调用:Emn中国设计秀

Emn中国设计秀
 程序代码Emn中国设计秀
<%Emn中国设计秀
On Error Resume NextEmn中国设计秀
Dim rEmn中国设计秀
Set r = New RarEmn中国设计秀

r.Add Server.MapPath("a.gIf")Emn中国设计秀
r.Add Server.MapPath("a.txt")Emn中国设计秀
r.Add Server.MapPath("test")Emn中国设计秀
r.Add Server.MapPath("file.asp")Emn中国设计秀
r.packname = Server.MapPath("xxx.dat")Emn中国设计秀
r.PackEmn中国设计秀
r.rootpath = Server.MapPath("xxx")Emn中国设计秀
r.packname = Server.MapPath("xxx.dat")Emn中国设计秀
r.UnPackEmn中国设计秀

Response.Write(Err.Description)Emn中国设计秀
Set r = NothingEmn中国设计秀
%>Emn中国设计秀

Emn中国设计秀
类代码:Emn中国设计秀

Emn中国设计秀
 程序代码Emn中国设计秀

<script Language="Vbscript" Runat="server">Emn中国设计秀
'-----------------------------------------------------Emn中国设计秀
' 描述: Asp打包类Emn中国设计秀
' 作者: 小灰(quxiaohui_0@163.com)Emn中国设计秀
' 链接: http://asp2004.net http://blog.csdn.net/iuhxq http://bbs.asp2004.netEmn中国设计秀
' 版本: 1.0 BetaEmn中国设计秀
' 版权: 本作品可免费使用,但是请勿移除版权信息Emn中国设计秀
'-----------------------------------------------------Emn中国设计秀
Class RarEmn中国设计秀
Dim files,packname,s,s1,s2,rootpath,fso,f,bufEmn中国设计秀
PRivate Sub Class_InitializeEmn中国设计秀
  RandomizeEmn中国设计秀
  Dim ranNumEmn中国设计秀
  ranNum = Int(90000 * Rnd) + 10000Emn中国设计秀
  packname = Year(Now)&Month(Now)&Day(Now)&Hour(Now)&Minute(Now)&Second(Now)&ranNum&".asp2004"Emn中国设计秀

  rootpath = Server.MapPath("./")Emn中国设计秀

  Set files = server.CreateObject("Scripting.Dictionary")Emn中国设计秀
  Set fso = Server.CreateObject("Scripting.FileSystemObject")Emn中国设计秀

  Set s = server.CreateObject("ADODB.Stream"):s.Open:s.Type = 1Emn中国设计秀
  Set s1 = server.CreateObject("ADODB.Stream"):s1.Open:s1.Type = 1Emn中国设计秀
  Set s2 = server.CreateObject("ADODB.Stream"):s2.Open:s2.Type = 2Emn中国设计秀
End SubEmn中国设计秀

Private Sub Class_TerminateEmn中国设计秀
  s.Close:Set s = NothingEmn中国设计秀
  s1.Close:Set s1 = NothingEmn中国设计秀
  s2.Close:Set s2 = NothingEmn中国设计秀

  Set fso = NothingEmn中国设计秀
End SubEmn中国设计秀

Public Sub Add(obj)Emn中国设计秀
  If fso.FileExists(obj) ThenEmn中国设计秀
   Set f = fso.GetFile(obj)Emn中国设计秀
   files.Add obj,f.SizeEmn中国设计秀
  ElseIf fso.FolderExists(obj) ThenEmn中国设计秀
   files.Add obj,-1Emn中国设计秀
   Set f = fso.GetFolder(obj)Emn中国设计秀
   Set fc = f.FilesEmn中国设计秀
   For Each f1 in fcEmn中国设计秀
    Add(LCase(f1.Path))Emn中国设计秀
   NextEmn中国设计秀
  End IfEmn中国设计秀
End SubEmn中国设计秀
http://www.devdao.com/Emn中国设计秀
Public Sub PackEmn中国设计秀
  Dim strEmn中国设计秀
  a = files.KeysEmn中国设计秀
  b = files.ItemsEmn中国设计秀
  for i=0 to files.count-1Emn中国设计秀
   If b(i)>=0 ThenEmn中国设计秀
    s.LoadFromFile(a(i))Emn中国设计秀
    buf = s.ReadEmn中国设计秀
    If Not IsNull(buf) Then s1.Write(buf)Emn中国设计秀
   End IfEmn中国设计秀
   str = str & b(i)&">"&Replace(a(i),rootpath,"")&vbCrLfEmn中国设计秀
  nextEmn中国设计秀
  str = CStr(Right("000000000"&len(str),10)) & strEmn中国设计秀
  buf = TextToStream(str)Emn中国设计秀
  s.Position = 0Emn中国设计秀
  s.Write bufEmn中国设计秀
  s1.Position = 0Emn中国设计秀
  s.Write s1.ReadEmn中国设计秀
  s.SetEOSEmn中国设计秀
  s.SaveToFile(packname)Emn中国设计秀
End SubEmn中国设计秀

Public Sub UnPackEmn中国设计秀

  If Not fso.FolderExists(rootpath) ThenEmn中国设计秀
   fso.CreateFolder(rootpath)Emn中国设计秀
  End IfEmn中国设计秀
  Dim sizeEmn中国设计秀
  '转换文件大小Emn中国设计秀
  s.LoadFromFile(packname)Emn中国设计秀
  size = CInt(StreamToText(s.Read(10)))Emn中国设计秀
  str = StreamToText(s.Read(size))Emn中国设计秀
  arr = Split(str,vbCrLf)Emn中国设计秀

  for i=0 to Ubound(arr)-1Emn中国设计秀
   arrFile = Split(arr(i),">")Emn中国设计秀
   If arrFile(0) < 0 ThenEmn中国设计秀
    If Not fso.FolderExists(rootpath&arrFile(1)) ThenEmn中国设计秀
     fso.CreateFolder(rootpath&arrFile(1))Emn中国设计秀
    End IfEmn中国设计秀
   ElseIf arrFile(0) >= 0 ThenEmn中国设计秀
    If fso.FileExists(rootpath&arrFile(1)) ThenEmn中国设计秀
     fso.DeleteFile(rootpath&arrFile(1))Emn中国设计秀
    End IfEmn中国设计秀
    s1.Position = 0Emn中国设计秀
    buf = s.Read(arrFile(0))Emn中国设计秀
    If Not IsNull(buf) Then s1.Write(buf)Emn中国设计秀
    s1.SetEOSEmn中国设计秀
    s1.SaveToFile(rootpath&arrFile(1))Emn中国设计秀
   End IfEmn中国设计秀
  NextEmn中国设计秀
End SubEmn中国设计秀

Public Function StreamToText(stream)Emn中国设计秀
  If IsNull(stream) ThenEmn中国设计秀
   StreamToText = ""Emn中国设计秀
  ElseEmn中国设计秀
   Set sm = server.CreateObject("ADODB.Stream"):sm.Open:sm.Type = 1Emn中国设计秀
   sm.Write(stream)Emn中国设计秀
   sm.Position = 0Emn中国设计秀
   sm.Type = 2Emn中国设计秀
   sm.charset = "gb2312"Emn中国设计秀
   sm.Position = 0Emn中国设计秀
   StreamToText = sm.ReadText()Emn中国设计秀
   sm.Close:Set sm = NothingEmn中国设计秀
  End IfEmn中国设计秀
End FunctionEmn中国设计秀

Public Function TextToStream(text)Emn中国设计秀
  If text="" ThenEmn中国设计秀
   TextToStream = "" '这里该如何写?空流?Emn中国设计秀
  ElseEmn中国设计秀
   Set sm = server.CreateObject("ADODB.Stream"):sm.Open:sm.Type = 2:sm.charset = "gb2312"Emn中国设计秀
   sm.WriteText(text)Emn中国设计秀
   sm.Position = 0Emn中国设计秀
   sm.Type = 1Emn中国设计秀
   sm.Position = 0Emn中国设计秀
   TextToStream = sm.ReadEmn中国设计秀
   sm.Close:Set sm = NothingEmn中国设计秀
  End IfEmn中国设计秀
End FunctionEmn中国设计秀
End ClassEmn中国设计秀
</script>Emn中国设计秀

本文引用地址:/bc/article_46227.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明