ASP自动解压RAR文件
数码时尚
WinRAR这个软件大家一定非常熟悉,它用来压缩和解压文件。大家是否想到使用ASP文件也可以自动解压RAR文件?这样,访问你网站的网友不用在自己机器上安装WinRAR就能在线解压放在你站点上的RAR文件,为他们增加了不少的便利。下面笔者就详细介绍一下如何实现这种功能。
其实想实现这种功能很简单,首先,需要一个WinRAR解压程序,我们就使用它的核心程序“RAR.EXE”这个文件就可以了;然后还需要Windows2000的内置命令文件“CMD.EXE”,当然,还需要一个压缩包文件,这里新建一个名为“cmd.rar”压缩包,最后,就开始编写实现自动解压RAR压缩包的ASP文件。
使用记事本新建一个名为“rar.asp”的ASP文件,在文件中输入以下内容:
<%
dim ylj,ywj,mlpath,Shell,rarcomm,RetCode,cmd,comm,fso
mlpath = "e:\page\main\"
ylj=server.mappath("main")&"\"
ywj=server.MapPath("main\cmd.rar")
Set Shell = Server.CreateObject("WScript.Shell")
rarcomm= "e:\page\main\cmd.exe /c"&mlpath&"rar.exe x -t -o+ -p- "
cmd=rarcomm&ywj&" "&ylj
RetCode = Shell.run(cmd,1,true)
%>
分析:
第一行:“<%”和最后一行的“%>”分别表示ASP文件内容的开始和结束。
第二行:“dim”语句用来声明变量的,“dim”后面的“ylj,ywj,mlpath,Shell,rarcomm,RetCode,cmd”都是被声明的变量。
第三行:“mlpath = "e:\page\main\”指存放RAR.EXE和CMD.EXE文件的路径,其中“e:\page\main\”是指笔者Web目录的绝对路径,当然这个值需要每个用户根据自己的网站目录的绝对路径进行修改。
第四行:“ylj=server.mappath("main")&"\"”定义了解压后的文件所存放的路径,其中“main”是指Web目录下的main文件夹,这里使用了“Server”对象的“mappath”方法。
第五行:定义要解压的cmd.rar文件的路径,它位于main目录下。
第六行:使用“Server”对象的“CreateObject”方法创建一个对象“Shell”。
第七行:给“rarcomm”变量赋值,其中“cmd.exe ”带“/c”参数是指执行字符串指定的命令然后终止,“rar.exe”命令所带的“x -t -o+ -p-”参数分别指“用绝对路径解压文件、测试压缩文件、覆盖已存在文件、不询问密码”。
第八行:给“cmd”变量赋值。
第九行:使用“Shell”对象的“run”方法执行“cmd”变量所包含的命令。
最后,将“RAR.EXE”、“CMD.EXE”和“rar.asp”这三个文件上传到Web服务器的相应目录下,这个目录在服务器上的绝对路径一定是“e:\page\main\”,否则一定要根据实际情况修改第三行和第七行,然后将“cmd.rar”压缩包上传到“main”目录下。
最后在浏览器中键入“http:\\服务器地址\文件路径\rar.asp”,这样就可以实现使用ASP自动解压“cmd.rar”文件。