ASP File Manager

来源:互联网 发布:互联网软件有哪些 编辑:程序博客网 时间:2024/05/10 01:00
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'--------------------------------------------------
'
AllInOne ASP File Manager, version 0.1-beta
'
--------------------------------------------------
Server.ScriptTimeOut=200
Dim objFSO,strRootFolder,currentfolder,prefix,DBDriver
DBDriver 
= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    strRootFolder 
= Server.MapPath("/")
if session("currentfolder")="" then
session(
"currentFolder")=strrootfolder
end if
scriptname 
= Request.ServerVariables("SCRIPT_NAME")    

%
>
<html><head>
<title>AllInOne ASP File Manager</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
td {  font
-size: 9pt}
a:link {  font
-size: 9pt; color: #000000; text-decoration: none}
a:hover {  color: red; text
-decoration: underline}
a:visited {  font
-size: 9pt; text-decoration: none; color: #000000}
.clDescription { BORDER
-RIGHT: #999999 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #999999 1px solid; PADDING-LEFT: 3px; FONT-SIZE: 11px; PADDING-BOTTOM: 3px; BORDER-LEFT: #999999 1px solid; WIDTH: 200px; PADDING-TOP: 3px; BORDER-BOTTOM: #999999 1px solid; FONT-FAMILY: verdana,arial,helvetica; BACKGROUND-COLOR: #FFFFCC}
#divDescription {Z
-INDEX: 200; VISIBILITY: hidden; POSITION: absolute; background-color: #FFFFCC;}
#divlinks {    Z
-INDEX: 1LEFT: 100px; POSITION: absolute; TOP: 200px}
-->
</style>
<script language="JavaScript">
function checkBrowser(){
    this.ver
=navigator.appVersion
    this.dom
=document.getElementById?1:0
    this.ie6
=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;    
    this.ie5
=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
    this.ie4
=(document.all && !this.dom)?1:0;
    this.ns5
=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4
=(document.layers && !this.dom)?1:0;
    this.bw
=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns5)
    return this
}
bw
=new checkBrowser()

fromX
=20 //How much from the actual mouse X should the description box appear?
fromY
=10 ///How much from the actual mouse Y should the description box appear?

//To set the font size, font type, border color or remove the border or whatever,
//change the clDescription class in the stylesheet.

//Makes crossbrowser object.
function makeObj(obj){                                
       this.css
=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?document.layers[obj]:0;    
       this.wref
=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj].document:0;        
    this.writeIt
=b_writeIt;                                                                
    return this
}

function b_writeIt(text){if(bw.ns4){this.wref.write(text);this.wref.close()}
else this.wref.innerHTML=text}

//Capturing mousemove
var descx,descy;
function popmousemove(e){descx=bw.ns4?e.pageX:event.x; descy=bw.ns4?e.pageY:event.y}

//Initiates page
var isLoaded;
function popupInit(){
    oDesc
=new makeObj('divDescription')
    if(bw.ns4)document.captureEvents(Event.MOUSEMOVE)
    document.onmousemove
=popmousemove;
    isLoaded
=true;
}    
//Shows the messages
function popup(messages){

    
if(isLoaded){
    oDesc.writeIt(
'<span class="clDescription">'+messages+'</span>')
    if(bw.ie5 || bw.ie6) descy=descy+document.body.scrollTop
    oDesc.css.left
=descx+fromX; oDesc.css.top=descy+fromY
    oDesc.css.visibility
='visible'
    }
}
//Hides it
function popout(num){
    
if(isLoaded) oDesc.css.visibility='hidden'
}

//initiates page on pageload.
onload
=popupInit;

</script>
</head>
<body bgcolor="#FFFFFF">
<DIV id=divDescription> 
  
<!--Empty div-->
</DIV>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  
<tr align="center"> 
    
<td><font size="3">文件管理系统</font></td>
  
</tr>
  
<tr>
    
<td>&nbsp;</td>
  
</tr>
</table>
<%
'----------------------------拷贝文件---------------------------------------------
if request("op")="copy" then%>
<%
dim src,dst,fcopy
if Request("src")<>"" and Request("dst")<>"" then
src
=Trim(Request("src"))
dst
=Trim(Request("dst"))
set fcopy = objFSO.GetFile(src)
fcopy.Copy(dst)
Response.Write(
"Copy "&src&"<BR> to "&dst&" <BR>done!")
end if
%
>
<form name="form1" method="post" action="<%=scriptname%>">
  
<table width="100%" border="0" cellspacing="0" cellpadding="5">
    
<tr> 
      
<td align="center">
      
<input type="hidden" name="op" value="copy">
      源文件: 
        
<input name="src" type="text" id="src" value="<%=Request("src")%>" size="30"></td>
    
</tr>
    
<tr> 
      
<td align="center">目标文件:<input name="dst" type="text" id="dst" size="30" value="<%=strrootfolder%>"></td>
    
</tr>
    
<tr> 
      
<td align="center"><input type="submit" value="Submit"></td>
    
</tr>
  
</table>
</form>

<%
Response.End
end if
%
>
<%
'----------------------------修改文件---------------------------------------------
if request("op")="edit" then%>
<%dim filename,TextStream
filename
=request("filename")
set TextStream=objFSO.OpenTextFile(filename)
call header
%
>
<form name="form" method="post" action="<%=scriptname%>" >
  
<table width="100%" border="1" cellspacing="0" cellpadding="10" bordercolorlight="#000000" bordercolordark="#FFFFFF">
    
<tr align="center"> 
      
<td height="12"> <p> 
          
<input type="hidden" name="op" value="save">
          
<input type="hidden" name="folder" value="<%=objFSO.GetParentFolderName(request("filename"))%>">
          文件名:
<%=objFSO.GetFileName(request("filename"))%> 
          
<input type="hidden" name="newfilename" value="<%=objFSO.Getfilename(request("filename"))%>">
        
</p>
        
</td>
    
</tr>
    
<tr align="center"> 
      
<td height="344"> 文件内容(文件大小不能超过<font color="#FF0000">2M</font><br>
        
<table width="100%" border="0" cellspacing="0" cellpadding="0">
          
<tr> 
            
<td width="93%" align="center" rowspan="2"> 
              
<textarea name="content" rows="26" cols="90" wrap="OFF"><%=Server.HTMLEncode(TextStream.Readall)%></textarea>
            
</td>
            
<td width="7%" valign="top" height="210"> 
              
<input type="submit" name="Submit" value="保存文件">
            
</td>
          
</tr>
          
<tr>
            
<td width="7%" valign="bottom"> 
              
<input type="submit" name="Submit" value="保存文件">
            
</td>
          
</tr>
        
</table>
      
</td>
    
</tr>
  
</table>
</form>

<%call copyright
Response.End
end if
%
>
<%
'----------------------------保存文件---------------------------------------------
if request("op")="save" then%>
<%dim objtext,fullname
on error resume next
fullname
=session("currentfolder"& ""& request("newfilename")
'response.write fullname
set objtext=objFSO.CreateTextFile(fullname,True)
objtext.WriteLine (request(
"content"))
objtext.close
if err<>0 then
response.write 
"保存文件时发生错误,可能是您没有写入权限"
response.end
else
response.redirect scriptname
end if
%
>
<%
Response.End
end if
%
>
<%
'----------------------------新建文件---------------------------------------------
if request("op")="new" then%>
<%dim folder
folder
=request("folder")
call header
%
>
<form name="form" method="post" action="<%=scriptname%>" >
  
<table width="100%" border="1" cellspacing="0" cellpadding="10" bordercolorlight="#000000" bordercolordark="#FFFFFF">
    
<tr align="center"> 
      
<td> 
        
<input type="hidden" name="folder" value="<%=folder%>">
        
<input type="hidden" name="op" value="save">
        文件名(包括扩展名):
<input type="text" name="newfilename" maxlength="30" size="20">
      
</td>
    
</tr>
    
<tr align="center"> 
      
<td height="344"> 文件内容(文件大小不能超过<font color="#FF0000">2M</font><br>
        
<table width="100%" border="0" cellspacing="0" cellpadding="0">
          
<tr> 
            
<td width="93%" align="center" rowspan="2"> 
              
<textarea name="content" rows="30" cols="90"></textarea>
            
</td>
            
<td width="7%" valign="top" height="210"> 
              
<input type="submit" name="Submit" value="保存文件">
            
</td>
          
</tr>
          
<tr>
            
<td width="7%" valign="bottom"> 
              
<input type="submit" name="Submit" value="保存文件">
            
</td>
          
</tr>
        
</table>
      
</td>
    
</tr>
  
</table>
</form>

<%call copyright
Response.End
end if
%
>

<%
'----------------------------删除文件---------------------------------------------
if request("op")="del" then%>
<%
filename
=request("filename")
objFSO.Deletefile filename
response.redirect scriptname
Response.End
end if
%
>
<%
'----------------------------删除文件夹---------------------------------------------
if request("op")="delfolder" then%>
<%
foldername
=request("folder")
objFSO.DeleteFolder foldername
response.redirect scriptname
&"?folder="&objFSO.GetParentFolderName(foldername)
Response.End
end if
%
>
<%
'----------------------------上传文件---------------------------------------------
if request("op")="upload" then
    
call header  
if request("op2")="" then%>
<form name="upload" method="post" action="<%=scriptname%>?op=upload&op2=save" enctype="multipart/form-data" >
  
<br>
  
<input type="hidden" name="act" value="upload">
  
<br>
  
<table width="71%" border="1" cellspacing="0" cellpadding="5" align="center" bordercolordark="#CCCCCC" bordercolorlight="#000000">
    
<tr> 
      
<td height="22" align="center" valign="middle">文件上传</td>
    
</tr>
    
<tr> 
      
<td height="92"> 
        
<script language="javascript">
      
function setid()
      {
      str
='<br>';
      if(!window.upload.upcount.value)
       window.upload.upcount.value
=1;
       
for(i=1;i<=window.upload.upcount.value;i++)
         str
+='文件'+i+':<input type="file" name="file'+i+'" style="width:400" class="tx1"><br><br>';
      window.upid.innerHTML=str+'<br>';
      }
      
</script>
        
<ul>
          
<li> 需要上传的个数 
            
<input type="text" name="upcount" value="1">
            
<input type="button" onclick="setid();" value="设定">
          
</li>
          
<br>
          
<br>
          
<li>上传到: 
            
<input type="text" name="filepath" style="width:350" value="<%=request("folder")%>">
          
</li>
        
</ul>  
      
</td>  
    
</tr>  
    
<tr align="center" valign="middle">   
      
<td align="left" id="upid" height="122"> 文件1: 
        
<input type="file" name="file1" style="width:400" value="">  
      
</td>  
    
</tr>  
    
<tr align="center" valign="middle" bgcolor="#eeeeee">   
      
<td height="24" align="center" bgcolor="#FFEFDF">   
        
<input type="submit" name="Submit" value="提交">
      
</td>  
    
</tr>  
  
</table>  
</form>  
<script language="javascript">  
  
setid();  
</script>
<%else%>
<%
'----------------------------------------上传类定义------------------------------
%>
<script language="VBScript" runat="server">
Dim oUpFileStream

Class UpFile_Class

Dim Form,File,Version,Err 

Private Sub Class_Initialize
 Version 
= "无惧上传类 Version V1.0"
 Err 
= -1
End Sub

Private Sub Class_Terminate  
  
'清除变量及对像
  If Err < 0 Then
    Form.RemoveAll
    
Set Form = Nothing
    File.RemoveAll
    
Set File = Nothing
    oUpFileStream.Close
    
Set oUpFileStream = Nothing
  
End If
End Sub
   
Public Sub GetData (RetSize)
   
'定义变量
  Dim RequestBinDate,sSpace,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
  
Dim iFileSize,sFilePath,sFileType,sFormValue,sFileName
  
Dim iFindStart,iFindEnd
  
Dim iFormStart,iFormEnd,sFormName
   
'代码开始
  If Request.TotalBytes < 1 Then
    Err 
= 1
    
Exit Sub
  
End If
  
If RetSize > 0 Then 
    
If Request.TotalBytes > RetSize Then
    Err 
= 2
    
Exit Sub
    
End If
  
End If
  
Set Form = Server.CreateObject ("Scripting.Dictionary")
  Form.CompareMode 
= 1
  
Set File = Server.CreateObject ("Scripting.Dictionary")
  File.CompareMode 
= 1
  
Set tStream = Server.CreateObject ("ADODB.Stream")
  
Set oUpFileStream = Server.CreateObject ("ADODB.Stream")
  oUpFileStream.Type 
= 1
  oUpFileStream.Mode 
= 3
  oUpFileStream.Open 
  oUpFileStream.Write Request.BinaryRead (Request.TotalBytes)
  oUpFileStream.Position 
= 0
  RequestBinDate 
= oUpFileStream.Read 
  iFormEnd 
= oUpFileStream.Size
  bCrLf 
= ChrB (13& ChrB (10)
  
'取得每个项目之间的分隔符
  sSpace = MidB (RequestBinDate,1, InStrB (1,RequestBinDate,bCrLf)-1)
  iStart 
= LenB  (sSpace)
  iFormStart 
= iStart+2
  
'分解项目
  Do
    iInfoEnd 
= InStrB (iFormStart,RequestBinDate,bCrLf & bCrLf)+3
    tStream.Type 
= 1
    tStream.Mode 
= 3
    tStream.Open
    oUpFileStream.Position 
= iFormStart
    oUpFileStream.CopyTo tStream,iInfoEnd
-iFormStart
    tStream.Position 
= 0
    tStream.Type 
= 2
    tStream.CharSet 
= "gb2312"
    sInfo 
= tStream.ReadText      
    
'取得表单项目名称
    iFormStart = InStrB (iInfoEnd,RequestBinDate,sSpace)-1
    iFindStart 
= InStr (22,sInfo,"name=""",1)+6
    iFindEnd 
= InStr (iFindStart,sInfo,"""",1)
    sFormName 
= Mid  (sinfo,iFindStart,iFindEnd-iFindStart)
    
'如果是文件
    If InStr  (45,sInfo,"filename=""",1> 0 Then
      
Set oFileInfo = new FileInfo_Class
      
'取得文件属性
      iFindStart = InStr (iFindEnd,sInfo,"filename=""",1)+10
      iFindEnd 
= InStr (iFindStart,sInfo,"""",1)
      sFileName 
= Mid  (sinfo,iFindStart,iFindEnd-iFindStart)
      oFileInfo.FileName 
= Mid (sFileName,InStrRev (sFileName, "")+1)
      oFileInfo.FilePath 
= Left (sFileName,InStrRev (sFileName, "")+1)
      oFileInfo.FileExt 
= Mid (sFileName,InStrRev (sFileName, ".")+1)
      iFindStart 
= InStr (iFindEnd,sInfo,"Content-Type: ",1)+14
      iFindEnd 
= InStr (iFindStart,sInfo,vbCr)
      oFileInfo.FileType 
= Mid  (sinfo,iFindStart,iFindEnd-iFindStart)
      oFileInfo.FileStart 
= iInfoEnd
      oFileInfo.FileSize 
= iFormStart -iInfoEnd -2
      oFileInfo.FormName 
= sFormName
      file.add sFormName,oFileInfo
    
else
    
'如果是表单项目
      tStream.Close
      tStream.Type 
= 1
      tStream.Mode 
= 3
      tStream.Open
      oUpFileStream.Position 
= iInfoEnd 
      oUpFileStream.CopyTo tStream,iFormStart
-iInfoEnd-2
      tStream.Position 
= 0
      tStream.Type 
= 2
      tStream.CharSet 
= "gb2312"
      sFormValue 
= tStream.ReadText
      
If Form.Exists (sFormName) Then
        Form (sFormName) 
= Form (sFormName) & "" & sFormValue
        
else
        form.Add sFormName,sFormValue
      
End If
    
End If
    tStream.Close
    iFormStart 
= iFormStart+iStart+2
    
'如果到文件尾了就退出
  Loop Until  (iFormStart+2= iFormEnd 
  RequestBinDate 
= ""
  
Set tStream = Nothing
End Sub
End Class

'文件属性类
Class FileInfo_Class
Dim FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
'保存文件方法
Public Function SaveToFile (Path)
  
On Error Resume Next
  
Dim oFileStream
  
Set oFileStream = CreateObject ("ADODB.Stream")
  oFileStream.Type 
= 1
  oFileStream.Mode 
= 3
  oFileStream.Open
  oUpFileStream.Position 
= FileStart
  oUpFileStream.CopyTo oFileStream,FileSize
  oFileStream.SaveToFile Path,
2
  oFileStream.Close
  
Set oFileStream = Nothing 
End Function
 
'取得文件数据
Public Function FileDate
  oUpFileStream.Position 
= FileStart
  FileDate 
= oUpFileStream.Read (FileSize)
  
End Function
End Class
</script>
<%
'-------------------------------------------开始上传-----------------------------------
dim upload,file,formName,formPath,iCount

set upload=new UpFile_Class ''建立上传对象
MaxSize = 1024*1024
upload.GetData(
Int(MaxSize*1024))
if upload.err > 0 then
    
select case upload.err
    
case 1
    Response.Write 
"请先选择你要上传的文件 [ <a href=# onclick=history.go(-1)>重新上传</a> ]"
    
case 2
    Response.Write 
"文件大小超过了限制 "&MaxSize&"K [ <a href=# onclick=history.go(-1)>重新上传</a> ]"
    
end select
    Response.End
end if
'response.write upload.Version&"<br><br>"  ''显示上传类的版本
formPath=upload.form("filepath")
formPath2
=formPath
if formPath="" then   ''得到上传目录
 Response.Write("请输入要上传至的目录!")
 
set upload=nothing
 response.end
else
 
''在目录后加(/)
 if right(formPath,1)<>"" then formPath=formPath&"" 
end if

iCount
=0
for each formName in upload.file ''列出所有上传了的文件
 set file=upload.file(formName)  ''生成一个文件对象
 if file.FileSize>0 then         ''如果 FileSize > 0 说明有文件数据
  'file.SaveAs Server.mappath(formPath&file.FileName)   ''保存文件
  file.SaveToFile formPath&file.FileName
  response.write 
"<p><center>"&file.FilePath&file.FileName&" ("&file.FileSize&") => "&formPath&File.FileName&" 成功!</center></p>"
  Response.Flush()
  iCount
=iCount+1
 
end if
 
set file=nothing
next
set upload=nothing  ''删除此对象
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  
<tr> 
    
<td align="center"><a href="<%=scriptname%>?folder=<%=Server.URLEncode(formPath2)%>">返回: 
      
<%=formPath2%></a>&nbsp;</td>
  
</tr>
  
<tr>
    
<td align="center">&nbsp;</td>
  
</tr>
</table>
<%end if%>
<%call copyright
Response.End
end if
%
>
<%
'----------------------------新建文件夹---------------------------------------------
if request("op")="newfolder" then
call header%>
<%if request("newfolder1")<>"" or request("newfolder2")<>"" or request("newfolder3")<>"" then
    folder
=trim(request("folder"))
    
dim newfolder(3)
    
if trim(request("newfolder1")) <>"" then newfolder(0= folder & "" & trim(request("newfolder1"))
    
if trim(request("newfolder2")) <>"" then newfolder(1= folder & "" & trim(request("newfolder2"))
    
if trim(request("newfolder3")) <>"" then newfolder(2= folder & "" & trim(request("newfolder3"))
    
for i=0 to Ubound(newfolder)
        
if newfolder(i)<>"" and not isempty(newfolder(i)) then
            objFSO.CreateFolder(newfolder(i))
            Response.Write(
"<p align=""center"">" & newfolder(i) & " 创建成功</p>")
        
end if
    
next
    
if session("currentfolder")=folder then
        response.Write(
"<p align=""center"">返回:<a href="""&scriptname&"?folder="&Server.URLEncode(folder)&""">"&folder&"</a>")
    
else
        response.Write(
"<p align=""center"">返回:<a href="""&scriptname&"?folder="&folder&""">"&folder&"</a>")
        response.Write(
"<p align=""center"">返回:<a href="""&scriptname&"?folder="&Server.URLEncode(session("currentfolder"))&""">"&session("currentfolder")&"</a>")
    
end if
%
><p></p>
<%else%>
<form action="<%=scriptname%>" method="post" name="newfolder" id="newfolder">
  
<table width="100%" border="1" cellspacing="0" cellpadding="5" bordercolordark="#FFFFFF" bordercolorlight="#000000">
    
<tr> 
      
<td align="center">
<input name="folder" type="text" value="<%=request("folder")%>" size="40">
      
</td>
    
</tr>
    
<tr> 
      
<td align="center">文件夹1 
        
<input name="newfolder1" type="text" id="newfolder1"></td>
    
</tr>
    
<tr> 
      
<td align="center">文件夹2 
        
<input name="newfolder2" type="text" id="newfolder2"></td>
    
</tr>
    
<tr> 
      
<td align="center">文件夹3 
        
<input name="newfolder3" type="text" id="newfolder3"> </td>
    
</tr>
    
<tr> 
      
<td align="center"><input name="op" type="hidden" id="op22" value="newfolder"> 
        
<input type="submit" value="新建文件夹"></td>
    
</tr>
  
</table>
</form>
<%end if%>
<%call copyright
Response.End
end if
%
>
<%
'-----------------------------------数据库记录列表----------------------------------------
if request("op")="db" and request("dbname")<>"" and request("tablename")<>"" then
call header
dbname
=request("dbname")
tablename
=request("tablename")
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString 
= DBDriver & dbname
objConn.Open
Set objTableRS = objConn.OpenSchema(20,Array(EmptyEmptyEmpty"TABLE"))
if tablename="" then tablename=objTableRS("Table_Name").Value
%
>
<table width="100%" border="1" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF">
  
<tr>
    
<td width="19%" align="center" valign="top"><a href="<%=scriptname%>?op=db&dbname=<%=Server.URLEncode(dbname)%>"><%=objFSO.GetFilename(dbname)%></a><br>
      
<br>
      
<table width="95%" border="0" cellspacing="0" cellpadding="6">
        
<%Do While Not objTableRS.EOF%> 
        
<tr> 
          
<td><font size="4" face="Wingdings">3</font> <a href="<%=scriptname%>?op=db&dbname=<%=Server.URLEncode(dbname)%>&tablename=<%=Server.URLEncode(objTableRS("Table_Name").Value)%>"><%=objTableRS("Table_Name").Value%></a></td>
        
</tr>
        
<%objTableRS.MoveNext
        
Loop%> 
      
</table>
    
</td>
    
<td width="81%" valign="top">
      
<table width="100%" border="0" cellspacing="0" cellpadding="0">
        
<tr valign="top"> 
          
<td align="center" valign="top"><font color="#330099"><%=tablename%></font> 
            
<form action="<%=scriptname%>" method="post" name="sqlcmd" id="sqlcmd">
              
<table width="100%" border="0" cellspacing="0" cellpadding="0">
                
<tr valign="top"> 
                  
<td align="center"> <input name="cmd" type="text" id="cmd" size="60"> 
                    
<input name="op" type="hidden" id="op" value="sql"> <input name="dbname" type="hidden" id="dbname" value="<%=request("dbname")%>"> 
                    
<input type="submit" value="执行SQL"></td>
                
</tr>
              
</table>
            
</form>
            
          
</td>
        
</tr>
      
</table>
      
<table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#000000" bordercolordark="#FFFFFF">
        
<tr bgcolor="#CCCCCC" align="center" valign="top">
<%dim mysql,objRS,i,j
j
=1
mysql
="Select Top 10 * From ["&tablename&"]"
Set objRS=objConn.Execute(mysql)
'response.write "<td>操作</td>"
For i=0 to objRs.Fields.Count-1
Response.write
"<td><b>"&objRS.Fields(i).name&"</b></td>"
Next
Response.write 
"</tr>"
if objrs.eof then

else
DO While NOT objRS.Eof
Response.write 
"<tr>"
%
>

<%
For i=0 to objRs.Fields.Count-1
Response.write
"<td>"
If IsNull(objRs.Fields(i).value) or objRs.Fields(i).value="" or objRs.Fields(i).value=" " then
response.write 
"&nbsp;"
else
  Response.write Server.HTMLEncode(objRs.Fields(i).value)
 
end if
Response.write
"</td>"
Next
Response.write
"</tr>"
objRS.MoveNext
j
=j+1
Loop
end if
set objRs = nothing
set objTableRS = nothing
objConn.Close
set objConn = nothing
%
>
     
</table>
      
<p>最多显示10条记录,要察看更多记录请使用SQL命令</p><br>
  
</table>
<%call copyright
Response.End
end if
%
>
<%
'----------------------------数据库对象列表---------------------------------------------
if request("op")="db" and request("dbname")<>"" then
call header
dbname
=request("dbname")
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString 
= DBDriver & dbname
objConn.Open
Set objTableRS = objConn.OpenSchema(20,Array(EmptyEmptyEmpty"TABLE"))
%
>
<table width="100%" border="1" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF">
  
<tr>
    
<td width="19%" align="center" valign="top"><a href="<%=scriptname%>?op=db&dbname=<%=dbname%>"><%=objFSO.GetFilename(dbname)%></a><br>
      
<br>
      
<table width="95%" border="0" cellspacing="0" cellpadding="6">
        
<%Do While Not objTableRS.EOF%> 
        
<tr> 
          
<td><font size="4" face="Wingdings">3</font> <a href="<%=scriptname%>?op=db&dbname=<%=Server.URLEncode(dbname)%>&tablename=<%=Server.URLEncode(objTableRS("Table_Name").Value)%>"><%=objTableRS("Table_Name").Value%></a></td>
        
</tr>
        
<%objTableRS.MoveNext
        
Loop
        objTableRS.MoveFirst%
> 
      
</table>
    
</td>
    
<td width="81%" align="center" valign="top"><a href="<%=scriptname%>?op=sql&dbname=<%=dbname%>">执行SQL命令<br>
      
</a> 
      
<%While Not objTableRS.EOF%>
      
<table width="98%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#000000" bordercolordark="#FFFFFF">
        
<tr align="center" bgcolor="#FFFFCC"> 
          
<td colspan="6"><font color="#660000" size="2"><b><%=objTableRS("Table_Name").Value%></b></font></td>
        
</tr>
        
<tr align="center"> 
          
<td>字段名</td>
          
<td>数据类型</td>
          
<td>字段大小</td>
          
<td>精度</td>
          
<td>是否允许为空</td>
          
<td>默认值</td>
        
</tr>
        
<tr> 
          
<%
        
Set objColumnRS = objConn.OpenSchema(4,Array(EmptyEmpty, objTableRS("Table_Name").Value))
'        for i=0 to objColumnRS.fields.count - 1
'
            response.Write(objColumnRS.fields(i).Name&"<BR>")
'
        next
        While Not objColumnRS.EOF
        iLength 
= objColumnRS("Character_Maximum_Length")
        iPrecision 
= objColumnRS("Numeric_Precision")    
                iScale 
= objColumnRS("Numeric_Scale")
        iDefaultValue 
= objColumnRS("Column_Default")
                  
If IsNull(iLength) then iLength = "&nbsp;"    
                
If IsNull(iPrecision) then iPrecision = "&nbsp;"
        
If IsNull(iScale) then iScale = "&nbsp;"
        
If IsNull(iDefaultValue) then iDefaultValue = "&nbsp;"%>
          
<td width="29%" height="8"><%=objColumnRS("Column_Name")%></td>
          
<td width="12%" height="8"><%=fieldtype(objColumnRS("Data_Type"))%></td>
          
<td width="11%" height="8"><%=iLength%></td>
          
<td width="9%" height="8"><%=iPrecision%></td>
          
<td width="17%" align="center" height="8"> 
            
<%If objColumnRS("Is_Nullable"then
            Response.Write 
""
            
else
            Response.write 
""
        
End If%>
          
</td>
          
<td width="22%" height="8"><%=iDefaultValue%></td>
        
</tr>
        
<%    objColumnRS.MoveNext
    
Wend
    objTableRS.MoveNext
    
Set objColumnRS = Nothing
Response.write 
"<br>"
Wend
objTableRS.Close
Set objTableRS = Nothing
objConn.Close
Set objConn = Nothing
%
>
      
</table> </td>
      
      
</table>
<%call copyright
Response.End
end if
%
>
<%
'----------------------------执行SQL命令---------------------------------------------
if request("op")="sql" then
call header
dbname
=request("dbname")
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString 
= DBDriver & dbname
objConn.Open
Set objTableRS = objConn.OpenSchema(20,Array(EmptyEmptyEmpty"TABLE"))
j
=0
%
>
<table width="100%" border="1" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF">
  
<tr>
    
<td width="13%" align="center" valign="top"><a href="<%=scriptname%>?op=db&dbname=<%=Server.URLEncode(dbname)%>"><%=objFSO.GetFilename(dbname)%></a><br>
      
<br>
      
<table width="95%" border="0" cellspacing="0" cellpadding="6">
        
<%Do While Not objTableRS.EOF%> 
        
<tr> 
          
<td><font size="4" face="Wingdings">3</font> <a href="<%=scriptname%>?op=db&dbname=<%=Server.URLEncode(dbname)%>&tablename=<%=Server.URLEncode(objTableRS("Table_Name").Value)%>"><%=objTableRS("Table_Name").Value%></a></td>
        
</tr>
        
<%objTableRS.MoveNext
        
Loop%> 
      
</table>
    
</td>
    
<td width="87%" align="center" valign="top"> 
      
<form action="<%=scriptname%>" method="post" name="sqlcmd" id="sqlcmd">
      
<table width="100%" border="0" cellspacing="0" cellpadding="0">
        
<tr valign="top"> 
          
<td align="center">
                
<input name="cmd" type="text" id="cmd" size="60">
              
<input name="op" type="hidden" id="op" value="sql">
              
<input name="dbname" type="hidden" id="dbname" value="<%=request("dbname")%>">
              
<input type="submit" value="执行SQL"></td>
        
</tr>
      
</table>
      
</form> 
      
<table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#000000" bordercolordark="#FFFFFF">
        
<tr bgcolor="#CCCCCC" align="center" valign="top">
<%if request("cmd")<>"" then
mysql
=request("cmd")
Set objRS=objConn.Execute(mysql)
'response.write "<td>操作</td>"
if objrs.state = 1 then 
For i=0 to objRs.Fields.Count-1
Response.write
"<td><b>"&objRS.Fields(i).name&"</b></td>"
Next
Response.write 
"</tr>"
if objrs.eof then
%
>
<%else
DO While NOT objRS.Eof
Response.write 
"<tr>"
%
>

<%
For i=0 to objRs.Fields.Count-1
Response.write
"<td>"
If IsNull(objRs.Fields(i).value) or objRs.Fields(i).value="" or objRs.Fields(i).value=" " then
response.write 
"&nbsp;"
else
  Response.write Server.HTMLEncode(objRs.Fields(i).value)
 
end if
Response.write
"</td>"
Next
Response.write
"</tr>"
objRS.MoveNext
j
=j+1
Loop
end if
set objRs = nothing
end if
end if
set objTableRS = nothing
objConn.Close
set objConn = nothing
%
>
     
</table>
      
<br>
      
<%if request("cmd")<>"" then response.Write("命令执行成功,返回 <font color=""#FF0000"">"&j&"</font> 条记录")%>
  
</table>
<%call copyright
Response.End
end if
%
>
<%
'----------------------------文件列表---------------------------------------------
%>
<%call header%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  
<tr align="center"> 
    
<td height="87"> 
      
<table width="100%" border="1" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF">
        
<tr> 
          
<td width="19%" align="center">文件夹列表</td>
          
<td width="81%" align="center"><a href="<%=scriptname%>?op=upload&folder=<%=Server.urlencode(session("currentfolder"))%>">上传文件</a>&nbsp; 
            
<a href="<%=scriptname%>?op=new&folder=<%=Server.urlencode(session("currentfolder"))%>">新建文件</a>&nbsp; 
            
<a href="<%=scriptname%>?op=newfolder&folder=<%=Server.urlencode(session("currentfolder"))%>">新建文件夹</a>&nbsp; 
            
<a href="<%=scriptname%>?op=delfolder&folder=<%=Server.urlencode(session("currentfolder"))%>" onclick="return confirm('真的要删除 <%=Replace(session("currentfolder"),"","/")%> 吗? 该文件夹的所有文件也将被删除')">删除当前文件夹</a></td>
        
</tr>
        
<tr> 
          
<td width="19%" align="center" valign="top"> 
              
<table width="98%" border="0" cellspacing="0" cellpadding="3">
                
<tr> 
                  
<td height="13" align="center" colspan="2"> <%if session("currentfolder")<>strrootFolder then
response.write 
"<a href='"&scriptname&"?folder="&objFSO.GetParentFolderName(session("currentfolder"))&"'>返回上级目录</a>"
else
response.write 
"当前为根目录"
End if
dim objfolder,objSubFolder
Set objFolder = objFSO.GetFolder(session("currentfolder"))
%
></td>
                  
<%For Each objSubFolder in objFolder.SubFolders%> </tr>
                
<tr> 
                  
<td width="11%">&nbsp;</td>
                  
                
<td width="89%"><font face="Wingdings">1</font> 
                  
<a href="<%=scriptname%>?folder=<%=Server.urlencode(prefix&""&objSubFolder.Name)%>"> 
                  
<%=objSubFolder.Name%></a></td>
                
</tr>
                
<%Next%> 
              
</table>
          
</td>
          
<td width="81%" align="center" valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="4" bordercolorlight="#cccccc" bordercolordark="#FFFFFF">
              
<tr bgcolor="#FFFFD2"> 
                
<td width="26%"><font color="#000066" size="2">文件名称</font></td>
                
<td width="19%" align="right"><font color="#000066" size="2">文件大小</font></td>
                
<td width="29%" align="center"><font color="#000066" size="2">文件类型</font></td>
                
<td width="26%" align="center"><font color="#000066" size="2">文件操作</font></td>
              
</tr>
              
<%Dim objFile,extname,FileCount
    FileCount 
= 0
    FileSize 
= 0
    
For Each objFile in objFolder.Files
    FileCount
=FileCount + 1
    %
>
              
<tr> 
                
<td width="26%"> 
                  
<%extname=objFSO.GetExtensionName(objfile.name)%>
                  
<%if extname<>"mdb" then%>
                  
<a href="<%=scriptname%>?op=edit&filename=<%=Server.urlencode(prefix&""&objfile.name)%>"><%=objfile.name%></a> 
                  
<%else%>
                  
<a href="<%=scriptname%>?op=db&dbname=<%=Server.urlencode(prefix&""&objfile.name)%>"><%=objfile.name%></a> 
                  
<%end if%>
                
</td>
                
<%FileSize = FileSize + objfile.size%>
                
<td width="19%" align="right"><%=FormatNumber(Round(objfile.size/1024,1),1,-1)%> 
                  KB
</td>
                
<td width="29%" align="center"><%=objfile.type%></td>
                
<td width="26%" align="center" valign="bottom"> 
                  
<%if extname<>"mdb" then%>
                  
<a href="<%=scriptname%>?op=edit&filename=<%=Server.urlencode(prefix&""&objfile.name)%>">修改</a> 
                  
<%else%>
                  
<a href="<%=scriptname%>?op=db&dbname=<%=Server.urlencode(prefix&""&objfile.name)%>">修改</a> 
                  
<%end if%>
                  
<a href="<%=scriptname%>?op=del&filename=<%=Server.urlencode(prefix&""&objfile.name)%>" onclick="return confirm('真的要删除<%=" "&objfile.name&" "%>吗?')">删除</a> 
                  
<a href="<%=scriptname%>?op=copy&src=<%=Server.urlencode(prefix&""&objfile.name)%>" target="_blank">复制</a> 
                  
<a href="<%=scriptname%>?op=db&dbname=<%=Server.urlencode(prefix&""&objfile.name)%>">数据库</a> </td>
              
</tr>
              
<%Next%>
              
<tr align="center"> 
                
<td colspan="4"><br>
                  总计文件个数:
<font color="#FF0000"><%=FileCount%></font> ,大小:<font color="#FF0000"><%=FormatNumber(Round(FileSize/1024,1),1,-1)%></font> 
                  KB 
</td>
              
</tr>
            
</table>
          
</td>
        
</tr>
      
</table>
    
</td>
  
</tr>
</table>
<%call copyright
set objFSO=Nothing%>
<%sub header%>
<%
currentfolder
=request("folder")
if currentfolder<>"" then
  session(
"currentfolder")=currentfolder
end if
if right(session("currentfolder"),1)="" then prefix=left(session("currentfolder"),len(session("currentfolder"))-1else prefix=session("currentfolder")
%
>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  
<tr align="center"> 
    
<td>
      
<table width="100%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#000066" bordercolordark="#FFFFFF">
        
<tr bgcolor="#FFEFDF"> 
          
<td bgcolor="#FFEFDF">您的主目录:<font color=red><a href="<%=scriptname%>?folder=<%=Server.urlencode(strrootfolder)%>"><font color=red><%=strrootfolder%></font></a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            当前位置:
<a href="<%=scriptname%>?folder=<%=Server.URLEncode(session("currentfolder"))%>"><font color=red><%=session("currentfolder")%></font></a> 
            
&nbsp;&nbsp; 磁盘: 
            
<%
            
For Each thing in objFSO.Drives
                
if thing.DriveLetter<>"A" and thing.DriveLetter<>"B" then
                    
if thing.isready then
                        Response.write 
"<a href="""&scriptname&"?folder="&thing.DriveLetter&":"" onmouseout=popout(0) onmouseover=""popup('<table width=160><tr><td width=50>盘符:</td><td align=center>"&thing.DriveLetter&"</td></tr><tr><td>卷标:</td><td align=center>"&thing.VolumeName&"</td></tr><tr><td>可用空间:</td><td align=right>"&FormatNumber(thing.FreeSpace/1024,0,-1)&"KB</td></tr><tr><td>磁盘容量:</td><td align=right>"&FormatNumber(thing.TotalSize/1024,0,-1)&"KB</td></tr><tr><td>文件系统:</td><td align=center>"&thing.FileSystem&"</td></tr></table>')"">"&thing.DriveLetter&":</a>&nbsp;&nbsp;"
                    
else
                        Response.Write 
"<a href="""&scriptname&"?folder="&thing.DriveLetter&":"" onmouseout=popout(0) onmouseover=""popup('磁盘没有准备好')"">"&thing.DriveLetter&":</a>&nbsp;&nbsp;"
                    
end if
                
end if    
            
NEXT
            %
>
          
</td>
        
</tr>
      
</table>
    
</td>
  
</tr>
</table>
<%end sub%>
<%sub copyright%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  
<tr>
    
<td height="50" align="center">AllInOne ASP File Manager,Copyright 2003 <a href="http://www.wangyong.com">wangyong.com</a></td>
  
</tr>
</table>
<%end sub%>
<%function fieldtype(typeid)
select case typeid
    
case 130    fieldtype = "文本"
    
case 2        fieldtype = "整型"
    
case 3        fieldtype = "长整型"
    
case 7        fieldtype = "日期/时间"
    
case 5        fieldtype = "双精度型"
    
case 11        fieldtype = "是/否"
    
case 128    fieldtype = "OLE 对象"
    
case else    fieldtype = typeid
end select
end function
function fillbefore(str,prefix,totallen)
str
=CStr(str)
if len(str)<totallen then
    
for i=1 to totallen-len(str)
        str 
= prefix & str
    
next
end if
fillbefore 
= str
end function
%
>
</html>
 
<script type="text/javascript">google_ad_client = "pub-8527320164371593";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_type = "text_image";//2006-11-09: asp.netgoogle_ad_channel = "8786117784";google_language = 'en';</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>