nc_filemanagecls.asp

来自「多用户管理分权限发布、管理软件信息;  自由选择系统默认为静态HTML或动态A」· ASP 代码 · 共 577 行 · 第 1/2 页

ASP
577
字号
<%
Class Admin_FileManage
	Private ErrMsg
	Private SucMsg
	Private FSO
	Private f
	Private j
	Private i
	Private FolderName
	Private FolderSize
	Private FolderTime
	Private filename
	Private FileType
	Private FileSize
	Private FileTime
	Private maxperpage
	Private strFileName
	Private CurrentPage
	Private FileCount
	Private TotleSize
	Private totalPut
	Private Path
	Private TruePath
	Private FsoDir
	Private CurrentDir
	Private ImageFolder
	Private Action
	Private NC_Admin
	Private Founderr

	Private Sub Class_Initialize()
		Set NC_Admin = New Check
		Set FSO = Server.CreateObject(Newasp.Script_FSO)
		maxperpage = 25
		Founderr = False
		strFileName = "admin_filemanage.asp"
		If Request("page") <> "" Then
			CurrentPage = Int(Request("page"))
		Else
			CurrentPage = 1
		End If
		ImageFolder = "images/pic/" '存放本程序图标的文件夹,如果要更换图标文件夹请更新这里就可以拉
		If Request("path") <> "" Then
			Path = Request("path")
		Else
			Path = Newasp.SetupDir & "admin"
		End If
		Path = Replace(Path, "\", "/")
		If Right(Path, 1) <> "/" Then
			FsoDir = Path & "/"
		Else
			FsoDir = Path
		End If
		Session("NC_CurrentDir") = FsoDir
		CurrentDir = Session("NC_CurrentDir")
		TruePath = Server.MapPath(FsoDir)
	End Sub

	Private Sub Class_Terminate()
		Set NC_Admin = Nothing
		Set Newasp = Nothing
	End Sub

	Sub Init_FileManage()
		Server.ScriptTimeOut = 9999999
		NC_Admin.AdminChk = "55"
		NC_Admin.Check
		Newasp.admin_header
		Action = Trim(Request("action"))
		Select Case Action
			Case "edit"
				Call EditFile
			Case "del"
				Call DelAll
			Case "rename"
				Call rename
			Case "folder"
				Call CreateNewFolder
			Case "files"
				Call CreateNewFile
			Case Else
				Call FileMain
		End Select
		If Founderr = True Then
			NC_Admin.Error_Msg (ErrMsg)
		End If
		Set FSO = Nothing
		Newasp.admin_footer
	End Sub

	Sub FileMain()
		Response.Write "<script language=JavaScript>" & vbCrLf
		Response.Write "<!--//" & vbCrLf
		Response.Write "function uploadframe()" & vbCrLf
		Response.Write "{" & vbCrLf
		Response.Write "	document.getElementById(""Setupload"").style.display="""";" & vbCrLf
		Response.Write "	document.getElementById(""allupload"").style.display=""none"";" & vbCrLf
		Response.Write "	document.getElementById(""allupfile"").style.display=""none"";" & vbCrLf
		Response.Write "}" & vbCrLf
		Response.Write "function setid(upcount)" & vbCrLf
		Response.Write "{" & vbCrLf
		Response.Write "	str='';" & vbCrLf
		Response.Write "	for(i=1;i<=window.form1.upcount.value;i++)" & vbCrLf
		Response.Write "	str+='文件'+i+':<input type=""file"" name=""upfile'+i+'"" style=""width:90%""><br>';" & vbCrLf
		Response.Write "	window.upid.innerHTML=str+'<br>';" & vbCrLf
		Response.Write "}" & vbCrLf
		Response.Write "//-->" & vbCrLf
		Response.Write "</script>" & vbCrLf
		Response.Write "<table width=""98%"" border=""0"" align=""center"" cellpadding=""1"" cellspacing=""1"" class=""tableBorder"">" & vbCrLf
		Response.Write "<tr><th height=""22"" colspan=2>WEB文件管理</th></tr>" & vbCrLf
		Response.Write "<form method=""POST"" name=form1 action=""UpFiles.asp"" enctype=""multipart/form-data"">" & vbCrLf
		Response.Write "<tr>" & vbCrLf
		Response.Write "<td class=""forumRow"" colspan=2 height=23>" & vbCrLf
		Response.Write "<table border=0 cellspacing=0 cellpadding=5 style=""width:100%;"">" & vbCrLf
		Response.Write "<tr>" & vbCrLf
		Response.Write "<TD noWrap valign=top>" & vbCrLf
		Response.Write "<DIV id=allupfile>" & vbCrLf
		Response.Write "<b>文件上传</b>: "
		Response.Write "</Div>" & vbCrLf
		Response.Write "<DIV id=Setupload style=""display:none"">" & vbCrLf
		Response.Write "选择上传数量:" & vbCrLf
		Response.Write "<select name=""upcount"" onChange=""setid(this.value)"">" & vbCrLf
		For i = 1 To CInt(Newasp.Setting(30))
			Response.Write " <option value='" & i & "'"
			If i = 1 Then Response.Write " selected"
			Response.Write ">" & i & "</option>" & vbCrLf
		Next
		Response.Write "</Div>" & vbCrLf
		Response.Write "</TD>" & vbCrLf
		Response.Write "<TD id=""upid"" align=center width='80%' noWrap valign=top>" & vbCrLf
		Response.Write "<input type=""file"" name=""upfile1"" style=""width:96%""></TD>" & vbCrLf
		Response.Write "<td width='8%' valign=top>" & vbCrLf
		Response.Write "<input type=""submit"" name=""Submit"" value=""上传文件"">" & vbCrLf
		Response.Write "</td>" & vbCrLf
		If CInt(Newasp.Setting(29)) = 1 Then
			Response.Write "<td id=allupload valign=top width='8%'>" & vbCrLf
			Response.Write "<input type=""button"" name=""setload"" onClick=""uploadframe();"" value=""批量上传"">" & vbCrLf
			Response.Write "</td>" & vbCrLf
		End If
		Response.Write "</tr>" & vbCrLf
		Response.Write "<tr vAlign=top>"
		Response.Write "<TD colspan=4 class=forumRow valign=top>" & vbCrLf
		Response.Write "允许上传的文件类型:" & Newasp.Setting(25) & "|" & Newasp.Setting(27) & "  上传大小:" & GetFileSize((CStr(Newasp.Setting(22)) + CStr(Newasp.Setting(23)) * 1024)) & ""
		Response.Write "</td>"
		Response.Write "</tr>"
		Response.Write "</table>" & vbCrLf
		Response.Write "</td></tr></form>" & vbCrLf
		Response.Write "<form method=""POST"" action=""admin_filemanage.asp"">" & vbCrLf
		Response.Write "<tr>" & vbCrLf
		Response.Write "<td class=""forumRow"" colspan=2 height=23>&nbsp; <input type=""text"" name=""path"" value=" & FsoDir & " size=""40"" class=""td2"">&nbsp;<input type=""submit"" value=""确认提交"" class=""button"">" & vbCrLf
		Response.Write " (<font color=red>请填写正确的文件夹名或路径</font>)</td>" & vbCrLf
		Response.Write "</tr>" & vbCrLf
		Response.Write "</form>" & vbCrLf
		Response.Write "<form method=""POST"" action=""admin_filemanage.asp"">" & vbCrLf
		Response.Write "<tr>" & vbCrLf
		Response.Write "<td class=""forumRow"" colspan=2 height=23>" & vbCrLf
		Response.Write "&nbsp;<input type=radio name=""action"" value='files' checked>新建文件" & vbCrLf
		Response.Write "&nbsp;<input type=radio name=""action"" value='folder'>新建文件夹" & vbCrLf
		Response.Write "&nbsp;<input type=""text"" name=""CreateName"" value='' size=""30"">" & vbCrLf
		Response.Write "&nbsp;<input type=""hidden"" name=""ThisDir"" value='" & FsoDir & "'>" & vbCrLf
		Response.Write "&nbsp;<input type=""submit"" value=""确认新建"" class=""button"">" & vbCrLf
		Response.Write "</td>" & vbCrLf
		Response.Write "</tr>" & vbCrLf
		Response.Write "</form>" & vbCrLf
		Response.Write "<tr><td height=""22"" class=""forumRow"" style=""COLOR: #808080;"">" & vbCrLf
		Response.Write "&nbsp;<b>当前浏览的目录 " & FsoDir & "" & vbCrLf
		Response.Write "&nbsp;&nbsp;</td><td class=""forumRow"" align=right>" & vbCrLf
		Response.Write "&nbsp;<img align=absMiddle src='" & ImageFolder & "Btn_Backward.gif' width=20 height=20 alt='后退' onclick=""javascript:history.go(-1)"">"
		Response.Write "&nbsp;<img align=absMiddle src='" & ImageFolder & "Btn_Forward.gif' width=20 height=20 alt='前进' onclick=""javascript:history.go(1)"">"
		Response.Write "&nbsp;<a href=?action=Open&path=" & Left(FsoDir, InStrRev(Left(FsoDir, Len(FsoDir) - 1), "/")) & "><img align=absMiddle src='" & ImageFolder & "Btn_Up.gif' width=20 height=20 alt='向上' border=""0""></a>"
		Response.Write "&nbsp;&nbsp;</td>" & vbCrLf
		Response.Write "</tr>" & vbCrLf
		Response.Write "</table>" & vbCrLf
		Response.Write "<table align=center height=16><form method=""POST"" action=""admin_filemanage.asp""><tr><td align=center style=""COLOR: #FF6600;"">" & vbCrLf
		If Len(Trim(Request.QueryString("FolderName"))) <> 0 Or Len(Trim(Request.QueryString("FileName"))) <> 0 Then
			Dim NewName
			NewName = Trim(Request.QueryString("FolderName")) & Trim(Request.QueryString("FileName"))
			Response.Write "&nbsp;<input type=""hidden"" name=""action"" value='rename'>" & vbCrLf
			Response.Write "&nbsp;<input type=""hidden"" name=""ThisDir"" value='" & FsoDir & "'>" & vbCrLf
			Response.Write "&nbsp;<input type=""hidden"" name=""FolderName"" value='" & Trim(Request.QueryString("FolderName")) & "'>" & vbCrLf
			Response.Write "&nbsp;<input type=""hidden"" name=""FileName"" value='" & Trim(Request.QueryString("FileName")) & "'>" & vbCrLf
			Response.Write "&nbsp;<input type=""text"" name=""NewName"" value='" & NewName & "' size=""20"">" & vbCrLf
			Response.Write "&nbsp;<input type=""submit"" value=""确认更名"" class=""button"">" & vbCrLf
		End If
		Response.Write "</td><tr></form></table>" & vbCrLf
		If FSO.FolderExists(TruePath) Then
			Dim FsoFile, FsoFileSize
			Dim DirFiles, DirFolder
			Set FsoFile = FSO.GetFolder(TruePath)
			'FsoFileSize = FsoFile.size '空间大小统计
			Dim c, Pcount
			FileCount = FsoFile.Files.Count
			TotleSize = GetFileSize(FsoFile.Size)
			totalPut = FsoFile.Files.Count
			If CurrentPage < 1 Then
				CurrentPage = 1
			End If
			If (CurrentPage - 1) * maxperpage > totalPut Then
				If (totalPut Mod maxperpage) = 0 Then
					CurrentPage = totalPut \ maxperpage
				Else
					CurrentPage = totalPut \ maxperpage + 1
				End If
			End If
			Response.Write "<table width=""98%"" border=""0"" align=""center"" cellpadding=""1"" cellspacing=""1"" class=""tableBorder"">" & vbCrLf
			Response.Write "<tr><th>选择</th><th>文件/文件夹名</th>" & vbCrLf
			Response.Write "    <th>类 型</th>" & vbCrLf
			Response.Write "    <th>文件大小</th>" & vbCrLf
			Response.Write "    <th>最后修改时间</th>" & vbCrLf
			Response.Write "    <th>操 作</th>" & vbCrLf
			Response.Write "  </tr>" & vbCrLf
			Response.Write "  <tr> " & vbCrLf
			Response.Write "    <td colspan=""6"" class=""forumRowHighlight"">" & vbCrLf
			Call showpage2(strFileName, totalPut, maxperpage)
			Response.Write "  </td></tr>" & vbCrLf
			Response.Write "<form name=""myform"" method=""post"" action='admin_filemanage.asp' onsubmit=""return confirm('确定要删除选中的文件吗?');"">" & vbCrLf
			If Not Newasp.IsObjectFSO(Newasp.Script_FSO) Then
				Response.Write "<b><font color=red>你的服务器不支持 FSO(Scripting.FileSystemObject)! 不能使用本功能</font></b>"
			Else
				For Each DirFolder In FsoFile.SubFolders
					FolderName = DirFolder.Name
					FolderSize = GetFileSize(DirFolder.Size)
					FolderTime = DirFolder.DateLastModified
					Response.Write "  <tr onmouseover=""this.style.backgroundColor='#F3F3FA';this.style.color='red'"" onmouseout=""this.style.backgroundColor='';this.style.color=''""> " & vbCrLf
					Response.Write "    <td align=center><input type=""checkbox"" name=""FolderId"" value='" & FolderName & "' title='" & FolderName & "'></td>" & vbCrLf
					Response.Write "    <td>&nbsp;<a href=?action=Open&path=" & FsoDir & FolderName & ">" & FolderName & "</a></td>" & vbCrLf
					Response.Write "    <td align=center><img src='" & ImageFolder & "ClosedFolder.gif' width=16 height=16 alt='文件夹'></td>" & vbCrLf
					Response.Write "    <td align=right>" & FolderSize & "</td>" & vbCrLf
					Response.Write "    <td align=right>" & FolderTime & "</td>" & vbCrLf
					Response.Write "    <td align=center><a href='?action=Open&path=" & FsoDir & "&FolderName=" & FolderName & "'>文件更名</a></td>" & vbCrLf
					Response.Write "  </tr>" & vbCrLf
				Next
				FileCount = 0
				For Each DirFiles In FsoFile.Files
					c = c + 1
					If FileCount >= maxperpage Then
						Exit For
					ElseIf c > maxperpage * (CurrentPage - 1) Then
						filename = DirFiles.Name
						FileType = GetFileIcon(filename)
						FileSize = GetFileSize(DirFiles.Size)
						FileTime = DirFiles.DateLastModified
						Response.Write "  <tr onmouseover=""this.style.backgroundColor='F5F5FB';this.style.color='red'"" onmouseout=""this.style.backgroundColor='';this.style.color=''""> " & vbCrLf
						Response.Write "    <td align=center><input type=""checkbox"" name=""FileID"" value='" & filename & "' title='" & filename & "'></td>" & vbCrLf
						Response.Write "    <td>&nbsp;<a href=" & FsoDir & filename & " target=_blank>" & filename & "</a></td>" & vbCrLf
						Response.Write "    <td align=center><Img src=" & ImageFolder & FileType & " alt='文件'></td>" & vbCrLf
						Response.Write "    <td align=right>" & FileSize & "</td>" & vbCrLf
						Response.Write "    <td align=right>" & FileTime & "</td>" & vbCrLf
						Response.Write "    <td align=center><a href='?action=Open&path=" & FsoDir & "&FileName=" & filename & "'>更 名</a> | <a href=""javascript:openScript('admin_filemanage.asp?action=edit&stype=edit&FileName=" & FsoDir & filename & "',600,450)"">编 辑</a></td>" & vbCrLf
						Response.Write "  </tr>" & vbCrLf
						FileCount = FileCount + 1
					End If
				Next
				Response.Write "<tr><td class=forumRowHighlight colspan=""6""><input name=""chkAll"" type=""checkbox"" id=""chkAll"" onclick=CheckAll(this.form) value=""checkbox"">全选/反选  " & vbCrLf
				Response.Write "	    <input name=""Action"" type=""hidden"" id=""Action"" value=""del"">" & vbCrLf
				Response.Write "	      <input type=""submit"" name=""Submit"" value=""删除选中的文件"" class=""button"">  " & vbCrLf
				Response.Write "	      <input type=""hidden"" name=""ThisDir"" value='" & FsoDir & "'>" & vbCrLf
				Response.Write "            <input type=""button"" name=""Submit1"" onclick=""javascript:history.go(-1)"" value=""返回上一页"" class=button>  " & vbCrLf
				Response.Write "</td></tr></form>" & vbCrLf
				Response.Write "  <tr> " & vbCrLf
				Response.Write "    <td colspan=""6"" class=""forumRowHighlight"">" & vbCrLf
				Call showpage2(strFileName, totalPut, maxperpage)
				Response.Write "  </td></tr>" & vbCrLf
			End If
			Response.Write "</td></tr></table>"
			Set FsoFile = Nothing
		Else
			Response.Write "找不到文件夹!可能是配置有误!"
		End If
	End Sub
	'*******************************************
	'过程作用:分页
	'*******************************************
	Sub showpage2(sfilename, totalnumber, maxperpage)
		Dim n
		Dim strTemp
		If totalnumber Mod maxperpage = 0 Then
			n = totalnumber \ maxperpage
		Else
			n = totalnumber \ maxperpage + 1
		End If
		strTemp = "<table align='center'><form method='Post' action='" & sfilename & "?path=" & Request("path") & "'><tr><td>"
		strTemp = strTemp & "共 <b>" & totalnumber & "</b> 个文件,占用 <b>" & TotleSize & "</b>&nbsp;&nbsp;"
		sfilename = JoinChar(sfilename)
		If CurrentPage < 2 Then
			strTemp = strTemp & "首页 上一页&nbsp;"
		Else
			strTemp = strTemp & "<a href='" & sfilename & "page=1&path=" & Request("path") & "'>首页</a>&nbsp;"
			strTemp = strTemp & "<a href='" & sfilename & "page=" & (CurrentPage - 1) & "&path=" & Request("path") & "'>上一页</a>&nbsp;"

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?