www.gusucode.com > 化境ASP文件管理系统 1.1源码程序 > index.asp
<%OPTION EXPLICIT%> <%if Session("webeditbase")="" or Session("webeditrun")="" then response.redirect "login.asp"%> <!--#include FILE="include.asp"--> <% if right(gPath,1)<>"/" then gPath=gPath&"/" sTemp=procCheckDir(gPath,1) if sTemp<>"ok" then htmend sTemp,1,"" end if select case gAct case "renf" procRename() case "rend" procRenameDir() case "md" procMakeDir() case "copy" procDoIt() case "cut" procDoIt() case "paste" procPaste() case "del" procDel() case "delit" procDelIt() case "delitd" procDelItD() end select set gFolder=fo.GetFolder(Server.mappath(gPath)) function procDelIt() dim sFile,act sFile=getVar("file","str","") if sFile="" then htmEnd "文件不存在",1,"" act=procCheckFile(gPath&sFile,1) if act<>"ok" then htmEnd act,1,"" fo.DeleteFile Server.mappath(gPath&sFile) end function function procDelItD() dim sFile,act sFile=getVar("file","str","") if sFile="" then htmEnd "目录不存在",1,"" act=procCheckDir(gPath&sFile,1) if act<>"ok" then htmEnd act,1,"" fo.DeleteFolder Server.mappath(gPath&sFile) end function function procDel() dim sStr,maxdir,maxfile,i,ret maxdir=cint(Request.Form("maxdir")) maxfile=cint(Request.Form("maxfile")) for i=1 to maxdir if Request.Form("chidd"&i)<>"" then sStr=Request.Form("chidd"&i) ret=procCheckDir(gPath&sStr,1) if ret<>"ok" then htmEnd ret,1,"" fo.DeleteFolder Server.MapPath(gPath&sStr),true end if next sStr=gAct&"|"&gPath for i=1 to maxfile if Request.Form("chidf"&i)<>"" then sStr=Request.Form("chidf"&i) ret=procCheckfile(gPath&sStr,1) if ret<>"ok" then htmEnd ret,1,"" fo.DeleteFile Server.MapPath(gPath&sStr),true end if next Session("bufferdir")="" Session("bufferfile")="" end Function function procpaste() dim sStr,sStr1,i,ret,sArr if Session("bufferdir")="" and Session("bufferfile")="" then exit function sArr=split(Session("bufferdir"),"|") if sArr(1)=gPath then htmend "不能自己覆盖自己!",1,"" for i=2 to ubound(sArr) sStr=sArr(1)&sArr(i) sStr1=gPath&sArr(i) if fo.FolderExists(Server.MapPath(sStr1)) then htmEnd "目录:"&sStr1&" 已经存在!",1,"" if procCheckDir(sStr,1)="ok" then if sArr(0)="cut" then fo.MoveFolder Server.MapPath(sStr),Server.MapPath(sStr1) else fo.CopyFolder Server.MapPath(sStr),Server.MapPath(sStr1) end if end if next sArr=split(Session("bufferfile"),"|") for i=2 to ubound(sArr) sStr=sArr(1)&sArr(i) sStr1=gPath&sArr(i) if procCheckFile(sStr,1)="ok" then if sArr(0)="cut" then if fo.FileExists(Server.MapPath(sStr1)) then htmEnd "文件 "&sStr1&" 已经存在!",1,"" fo.MoveFile Server.MapPath(sStr),Server.MapPath(sStr1) else fo.CopyFile Server.MapPath(sStr),Server.MapPath(sStr1),true end if end if next Session("bufferdir")="" Session("bufferfile")="" end Function function procRename() dim sFrom,sTo,sStr,sObj sFrom=getVar("from","str","") sTo=getVar("to","str","") if sFrom="" or sTo="" then exit function sStr=procCheckFile(gPath&sFrom,1) if sStr<>"ok" then htmEnd sStr,1,"" sStr=procCheckFile(sTo,0) if sStr<>"ok" then htmEnd sStr,1,"" if fo.FileExists(Server.MapPath(gPath&sTo)) then htmend "目标文件已存在!",1,"" set sObj=fo.GetFile(Server.MapPath(gPath&sFrom)) sObj.Move Server.MapPath(gPath&sTo) set sObj=nothing end function function procDoIt() dim sStr,maxdir,maxfile,i sStr=gAct&"|"&gPath maxdir=cint(Request.Form("maxdir")) maxfile=cint(Request.Form("maxfile")) for i=1 to maxdir if Request.Form("chidd"&i)<>"" then sStr=sStr&"|"&Request.Form("chidd"&i) next Session("bufferdir")=sStr sStr=gAct&"|"&gPath for i=1 to maxfile if Request.Form("chidf"&i)<>"" then sStr=sStr&"|"&Request.Form("chidf"&i) next Session("bufferfile")=sStr end Function function procMakeDir() dim sTo,sStr sTo=getVar("to","str","") sStr=left(sStr,inStrRev(sStr,"/")) sStr=procCheckDir(gPath,1) if sStr<>"ok" then htmEnd sStr,1,"" sStr=procCheckDir(gPath&sTo,0) if sStr<>"ok" then htmEnd sStr,1,"" if fo.FolderExists(Server.mappath(gPath&sTo)) then htmEnd "目录已经存在!",1,"" fo.CreateFolder(Server.mappath(gPath&sTo)) end function function procRenameDir() dim sFrom,sTo,sStr,sObj sFrom=getVar("from","str","") sTo=getVar("to","str","") if sFrom="" or sTo="" then exit function sStr=procCheckDir(gPath&sFrom,1) if sStr<>"ok" then htmEnd sStr,1,"" sStr=procCheckdir(gPath&sTo,0) if sStr<>"ok" then htmEnd sStr,1,"" if fo.FolderExists(Server.MapPath(gPath&sTo)) then htmend "目标目录已存在!",1,"" fo.MoveFolder Server.MapPath(gPath&sFrom),Server.MapPath(gPath&sTo) set sObj=nothing end function %> <script language=javascript> var baseurl; baseurl='<%=gBaseUrl%>'; function openit(str) { window.open('<%=gPath%>'+str,'_blank'); } function chdir(dir,mode) { var obj; obj=document.webedit; if(!dir) {alert('请输入要浏览的目录');return;} if(mode) { if(obj.filter.value) obj.action='<%=gFileName%>?filter='+obj.filter.value+'&path=<%=gPath%>'+dir; else obj.action='<%=gFileName%>?path=<%=gPath%>'+dir; } else { if(obj.filter.value) obj.action='<%=gFileName%>?filter='+obj.filter.value+'&path='+dir; else obj.action='<%=gFileName%>?path='+dir; } obj.submit(); } function edit(name) { window.open('editfile.asp?act=read&path=<%=gPath%>'+name); } function rename(oldName) { str=prompt('将文件 '+oldName+' 更名为:',oldName); if(!str)return; obj=document.webedit; obj.action=baseurl+'&act=renf&from='+oldName+'&to='+str; obj.submit(); } function renamed(oldName) { str=prompt('将目录 '+oldName+' 更名为:',oldName); if(!str)return; obj=document.webedit; obj.action=baseurl+'&act=rend&from='+oldName+'&to='+str; obj.submit(); } function paste() { <%if Session("bufferfile")="" or Session("bufferdir")="" then response.write("alert('剪贴板中没有数据!');"&vbcrlf) response.write "return;" end if%> if(!confirm('真要将文件粘贴到此目录吗?')) return; obj=document.webedit; obj.action=baseurl+'&act=paste'; obj.submit(); } function del() { obj=document.webedit; if(!confirm('真要删除选中的目录与文件吗?')) return; obj.action=baseurl+'&act=del'; obj.submit(); } function mkdir() { str=prompt('新建目录:',''); if(!str)return; obj=document.webedit; obj.action=baseurl+'&act=md&to='+str; obj.submit(); } function selfileall(act) { i=1; obj=document.webedit; while(eval('obj.chidf'+i)) { obj1=eval('obj.chidf'+i); obj1.checked=act; i++; } } function seldirall(act) { i=1; obj=document.webedit; while(eval('obj.chidd'+i)) { obj1=eval('obj.chidd'+i); obj1.checked=act; i++; } } function doit(act) { i=1; issel=0; obj=document.webedit; while(eval('obj.chidf'+i)) { obj1=eval('obj.chidf'+i); if(obj1.checked) {issel=1;break;} i++; } i=1 while(eval('obj.chidd'+i)) { obj1=eval('obj.chidd'+i); if(obj1.checked) {issel=1;break;} i++; } if(!issel) {alert('请先选择文件与目录。');return;} obj.action=baseurl+'&act='+act; obj.submit(); } function refreshit() { obj=document.webedit; obj.action=baseurl; obj.submit(); } function upload() { window.open('upfile.asp?path=<%=gPath%>'); } function viewclip() { window.open('viewclip.asp','_blank','scrollbars'); } function delit(str) { if(!confirm('真要删除文件'+str+'吗?')) return; obj=document.webedit; obj.action=baseurl+'&act=delit&file='+str; obj.submit(); } function delitd(str) { if(!confirm('真要删除目录'+str+'吗?')) return; obj=document.webedit; obj.action=baseurl+'&act=delitd&file='+str; obj.submit(); } function about() { window.showModalDialog("images/about.htm","","dialogWidth:280px;dialogHeight:150px;scroll:no;status:no;help:no"); } </script> <html> <head> <title>化境Web文件管理系统</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <link rel="stylesheet" href="webedit.css" type="text/css"> </head> <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0"> <form name="webedit" method="post" action="<%=gBaseUrl%>"> <table width="100%" border="1" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF" bordercolorlight="#666666"> <tr> <td height="40" bgcolor="#cccccc"> <table width="100%" border="0" cellspacing="0" cellpadding="5"> <tr> <td height="32" width="200">化境 WebEdit 1.1</td> <td width="32" height="32" align="center"><a href="javascript:doit('copy');"><img src="images/copy.gif" width="32" height="32" alt="复制选中的文件与目录到剪贴板" border="0" class="bt3" onMouseOver="this.className='bt';" onMouseOut="this.className='bt3';"></a></td> <td width="32" height="32" align="center"><a href="javascript:doit('cut');"><img src="images/cut.gif" width="32" height="32" alt="剪切选中的文件与目录到剪贴板" border="0" class="bt3" onMouseOver="this.className='bt';" onMouseOut="this.className='bt3';"></a></td> <td width="32" height="32" align="center"><a href="javascript:paste();"><img src="images/paste.gif" width="32" height="32" alt="粘贴剪巾板中的文件与目录" border="0" class="bt3" onMouseOver="this.className='bt';" onMouseOut="this.className='bt3';"></a></td> <td width="32" height="32" align="center"><a href="javascript:refreshit();"><img src="images/refresh.gif" width="32" height="32" alt="刷新" border="0" class="bt3" onMouseOver="this.className='bt';" onMouseOut="this.className='bt3';"></a></td> <td width="16" height="32" align="center"><a href="javascript:del();"><img src="images/del.gif" width="32" height="32" alt="删除选中的文件与目录" border="0" class="bt3" onMouseOver="this.className='bt';" onMouseOut="this.className='bt3';"></a></td> <td width="32" height="32" align="center"><a href="javascript:about();"><img src="images/about.gif" width="32" height="32" alt="关于" border="0" class="bt3" onMouseOver="this.className='bt';" onMouseOut="this.className='bt3';"></a></td> <td height="32" align="left">剪贴板状态: <%if Session("bufferdir")<>"" or Session("bufferfile")<>"" then response.write "有数据<input type=button value=""查看剪贴板"" class=""bt"" onclick=""viewclip();"">":else response.write " 空 ":end if%> </td> </tr> </table> </td> </tr> <tr> <td height="30" bgcolor="#CCCCCC"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="20"> 位置: <input type="text" name="curpath" style="width:350" class="tx" value="<%=gPath%>"> 过滤显示: <input type="text" name="filter" style="width:100" class="tx" value="<%=gFilter%>"> <input type="button" name="Button" value="转到" class="bt1" onClick="chdir(document.webedit.curpath.value,0);"> </td> <td height="20" width="0%"> </td> </tr> </table> </td> </tr> <tr> <td height="369" align="left" valign="top"> <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td align="left" valign="top" width="250"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr align="right" bgcolor="#EEEEEE"> <td height="25" colspan="5" align="left" valign="middle"> <input type="button" name="Button33" value="全部选择" class="bt1" onClick="seldirall(true);" > <input type="button" name="Button332" value="清除选择" class="bt1" onClick="seldirall(false);"> <input type="button" name="Button4" value="新建" class="bt1" onClick="mkdir();"> </td> </tr><tr align="left" bgcolor="#EEEEEE"> <td height="25" valign="middle" colspan="5"> <%if gPath<>gRootUrl and gPath<>"/" then response.write "<a href=""javascript:chdir('"&left(gPath,instrRev(gPath,"/",len(gPath)-1))&"',0);"">↑<上一级目录></a>"%> </td> </tr> </table><div class="DirList"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <% dim theFolder,cMaxDir dim theFile,cMaxCount,iTotleSize,c,iMaxPage cMaxDir=0 for each theFolder in gFolder.SubFolders cMaxDir=cMaxDir+1 %><tr><td height="20" width="24" align="center" valign="middle"><input type="checkbox" name="chidd<%=cMaxDir%>" id="chidd<%=cMaxDir%>" value="<%=theFolder.Name%>"> </td><td width="16" align="center" valign="middle"><img src="images/folder1.jpg" width="16" height="16"></td> <td align="left"> <a href="javascript:chdir('<%=theFolder.Name%>',1);"><%=theFolder.Name%></a></td> <td align="center" width="33"><a href="javascript:renamed('<%=theFolder.Name%>');">更名</a></td> <td align="center" width="30"><a href="javascript:delitd('<%=thefolder.Name%>')">删除</a></td> </tr><% next c=0 cMaxCount=0 iTotleSize=0 For Each theFile in gFolder.Files if procCheckFile(theFile.Name,0)="ok" then cMaxCount=cMaxCount+1 iTotleSize=iTotleSize+theFile.Size end if next iMaxPage=cMaxCount\gPageSize+1 %> </table></div> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr bgcolor="#EEEEEE"> <td height="21" colspan="5">共 <%=cMaxDir%> 个目录 <input type="hidden" name="maxdir" value="<%=cMaxDir%>" /> </td> </tr> </table> </td> <td width="4" height="500" bgcolor="#CCCCCC"></td> <td height="500" align="left" valign="top"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr align="right" bgcolor="#EEEEEE"> <td height="25" colspan="8" align="left" valign="middle"> <input type="button" name="Button3" value="全部选择" class="bt1" onClick="selfileall(true);"> <input type="button" name="Button32" value="清除选择" class="bt1" onClick="selfileall(false);"> <input type="button" name="Button2" value="上传文件" class="bt1" style="width:60;height:19" onClick="upload();"> </td> </tr> <tr align="left"> <td height="25" valign="middle" colspan="8" bgcolor="#EEEEEE"> 总 <%=cMaxCount%> 个文件,第 <%=gPage%> 页,共 <%=iMaxPage%> 页, <% if gPage>1 then response.write "<a href="""&gFileName&"?path="&gPath&"&page="&gPage-1&""">上一页,</a>" else response.write "上一页," end if if gPage<iMaxPage then response.write "<a href="""&gFileName&"?path="&gPath&"&page="&gPage+1&""">下一页</a>," else response.write "下一页," end if %> 第 <input type="text" name="fliter2" style="width:30" class="tx"> 页 <input type="button" name="Button5" value="转到" class="bt1" onClick="chdir(document.webedit.curpath.value,0);"> </td> </tr></table><div class="DirList"><table border="0" cellspacing="0" cellpadding="0" width="100%"> <% cMaxCount=0 iTotleSize=0 For Each theFile in gFolder.Files c=c+1 if cMaxCount>=gPageSize then exit For elseif procCheckFile(theFile.Name,0)="ok" and c>gPageSize*(gPage-1) then iTotleSize=iTotleSize+theFile.Size cMaxCount=cMaxCount+1 %> <tr> <td height="25" width="32" align="center" valign="middle"> <input type="checkbox" name="chidf<%=cMaxCount%>" id="chidf<%=cMaxCount%>" value="<%=theFile.Name%>"> </td> <td width="20" align="center" valign="middle"><img src="images/<%=procGetFormat(theFile.Name)%>.gif" width="18" height="18"></td> <td> <a href="javascript:openit('<%=theFile.Name%>');"><%=theFile.Name%></a></td> <td width="28" align="center"><a href="javascript:edit('<%=theFile.Name%>');">编辑</a></td> <td width="28" align="center"><a href="javascript:rename('<%=theFile.Name%>');">更名</a></td> <td width="28" align="center"><a href="javascript:delit('<%=theFile.Name%>');">删除</a></td> <td align="right" width="80"><%=theFile.Size%> </td> <td align="center" width="130"><%=theFile.DateLastModified%></td> </tr> <% end if next %></table></div><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr bgcolor="#EEEEEE"> <td height="28" colspan="8">当前共 <%=cMaxCount%> 个文件,共 <%=iTotleSize\1000%> K <input type="hidden" name="maxfile" value="<%=cMaxCount%>"> </td> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td height="24" align="center" valign="middle" bgcolor="#CCCCCC" width="777">©Copyright written by 稻香老农 <a href="http://www.5xsoft.com/">http://www.5xSoft.com/</a></td> </tr> </table> </form> </body> </html> <% set gFolder=nothing set fo=nothing%>