|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。 1、成绩的提出
跟着互连网的开展,网站的数目以惊人的数字增添。网站的感化除给宽大网友们供应信息新闻办事外,还应当成为网友们上传与下载文件的场合。在上传与下载文件的过程当中,传输工夫是关头,这就请求有较快的传输速度。在传输速度固定不变或是高低变化不大的情形下,尽可能减小传输文件的体积,是一个可行的举措:上传文件的时分,先将要上传的文件用WINRAR紧缩,上传胜利后在网站内经由过程法式完成解紧缩;下载文件的时分,先将要下载的文件在网站内经由过程法式完成紧缩然后再下载。本文就针对该成绩的处理停止切磋。
2、办法与申明
起首要上传一个WINRAR的解压法式,就是WINRAR本人的解压法式,只需求它的中心法式RAR.EXE这个文件就能够了,在WINRAR的装置目次里可以找到。然后要上传一个履行RAR.EXE的法式 CMD.EXE 这个是WINDOWS操作体系里的法式,在体系盘WINNT/SYSTEM32文件夹中可以找到。上传完这两个文件后,就需求编写一些法式代码来完成紧缩与解紧缩。
无妨将完成紧缩功效的文件取名为ZIP.ASP,完成解紧缩功效的文件取名为UNZIP.ASP。
法式代码中包括了WINRAR这个使用法式的号令行语法,上面复杂引见一下:
WinRAR <号令> -<开关1> -<开关N> <紧缩文件> <文件...> <@列表文件...> <解压途径\>
号令 要 WinRAR 运转的字符组合代表功效。
开关 切换操作指定类型,紧缩强度,紧缩文件类型,等等的界说。
紧缩文件 要处置的紧缩文件名。
文件 要处置的文件名。
列表文件 列表文件是包括要处置文件称号的纯文本。文件名应当在第一卷启动。可以在列表文件中利用//字符后添加正文。例如,你可以包括两列字符串创立 backup.lst:c:\work\doc\*.txt //备份文本文档 c:\work\image\*.bmp //备份图片c:\work\misc并接着运转: winrar a backup @backup.lst你可以在号令行中同时指定通俗的文件名和列表文件名。
解压途径 只与号令 e 和 x ,搭配利用。指出解压文件添加的地位。假如文件夹不存在时,会主动创立。
字母号令列表:
a 添加文件到紧缩文件 c 添加紧缩文件正文
d 从紧缩文件删除文件 e 从紧缩文件解压紧缩,疏忽途径
f 刷新紧缩文件中的文件 i 在紧缩文件中查找字符串
k 锁定紧缩文件 m 挪动文件和文件夹到紧缩文件
r 修复受损的紧缩文件 rc 重建丧失的卷
rn 重定名紧缩文件 rr[N] 添加数据恢复纪录
rv[N] 创立恢复卷 s[name] 转换紧缩文件成为自解压文件类型
s- 删除自解压模块 t 测试紧缩文件
u 从紧缩文件中更新文件 x 以完全途径称号从紧缩文件解压紧缩
其实法式代码中的关头的地方就是用Server.CreateObject("Wscript.Shell")来履行CMD.EXE,CMD.EXE运转RAR.EXE经由过程WINRAR的号令来履行解紧缩文件与紧缩文件的。
3、法式清单
ZIP.ASP法式清单:
<%
'main文件夹中包括cmd.exe rar.exe 例如:要紧缩的文件(*.mdb)
'紧缩后的寄存目次为main\data.rar
on error resume next
unzip_path=Server.mappath("main")&"\"
Set WshShell = server.CreateObject("Wscript.Shell")
IsSuccess = WshShell.Run ("winrar a "&unzip_path&"data
"&unzip_path&"*.mdb",1, False)
'WinRAR <号令> -<开关1> -<开关N> <紧缩文件> <文件...> <@列表文件...>
<解压途径\>
'号令: A - 添加到紧缩文件中
if IsSuccess = 0 Then
Response.write " 号令胜利履行!"
else
Response.write " 号令履行掉败!权限不敷或该法式没法运转"
end if
if err.number <> 0 then
Response.Write "<p>毛病号码:" & Err.number
Response.Write "<p>缘由:" & Err.description
Response.Write "<p>毛病来历:" & Err.Source
Response.Write
end if
%>
UNZIP.ASP法式清单:
<%
'main文件夹中包括cmd.exe rar.exe 要解紧缩的文件(*.rar)
'解紧缩后的寄存目次为main
on error resume next
unzip_path=Server.mappath("main")&"\"
Set WshShell = server.CreateObject("Wscript.Shell")
IsSuccess = WshShell.Run ("winrar x -r -o+ "&unzip_path&"*.rar
"&unzip_path&"",1, False)
'WinRAR <号令> -<开关1> -<开关N> <紧缩文件> <文件...> <@列表文件...>
<解压途径\>
'号令: X - 从紧缩文件中全途径解压文件
'开关: -R - 连同子文件夹
'开关: -O+ - 掩盖已存在的文件
'开关: -O- - 不掩盖已存在的文件
if IsSuccess = 0 Then
Response.write " 号令胜利履行!"
else
Response.write " 号令履行掉败!权限不敷或该法式没法运转"
end if
if err.number <> 0 then
Response.Write "<p>毛病号码:" & Err.number
Response.Write "<p>缘由:" & Err.description
Response.Write "<p>毛病来历:" & Err.Source
Response.Write
end if
%>
4、 结论
本文经由过程利用RAR.EXE和 CMD.EXE这两个文件,在ASP编程中完成在线紧缩与解紧缩网站中的文件的功效。完成办法复杂,法式代码少,可供适用编程时自创利用。特别是在具有本人的办事器的情形下极为适用和便利。以上法式在Windows2000Sever及IIS5.0下运转经由过程。
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时. |
|