📄 ks_webfilescls.asp
字号:
<!--#include file="../Conn.asp"-->
<!--#include file="KS_FileIcon.asp"-->
<%
'Dim S
'Set S=New WebFilesCls
'call S.execute("/","",20,"网站文件管理")
'Set S=nothing
Class WebFilesCls
Private KSCMS
Private MaxPerPage
Private OpTypeStr,TopDir,action
Private Fso,FsoFile,AllFileSize,WebDir
Private CurrentDir,DirFiles,DirFolder,strTitle
Private TotalPut,CurrentPage,TotalPages
Private ComeUrl,SQL,Rs,i,ChannelID
Private Sub Class_Initialize()
MaxPerPage=30
ComeUrl=Cstr(Request.ServerVariables("HTTP_REFERER"))
Set KSCMS=New CommonCls
End Sub
Private Sub Class_Terminate()
Set KSCMS=Nothing
End Sub
'ChannelID-频道ID,DirStr--操作的目录,OpStr--操作类型(select 或 空),PerPage--每页显示的文件数,标题,样式文件-完整路径
Function Execute(CID,DirStr,OpStr,PerPage,Title,CssStr)
ChannelID=CID:strtitle=Title:TopDir=DirStr:MaxPerPage=PerPage:OpTypeStr=OpStr
%>
<html>
<head>
<title>文件管理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="<%=CssStr%>" rel="stylesheet" type="text/css">
<SCRIPT language=javascript src="<%=KSCMS.GetDomain%>inc/showtitle.js"></script>
<base target="_self">
</head>
<body leftmargin="0" topmargin="0">
<%
webDir=KSCMS.GetConfig("InstallDir")
action=LCase(Trim(KSCMS.G("action")))
CurrentDir=Trim(KSCMS.G("CurrentDir"))
CurrentPage=KSCMS.ChkClng(KSCMS.G("page"))
if CurrentDir<>"" then
CurrentDir=Replace(CurrentDir & "/","//","/")
end if
Set Fso=Server.CreateObject(Trim(KSCMS.GetConfig("FsoObjName")))
Select Case action
Case "del"
Call DelAll
Case "rname"
Call Rname
Case Else
Call Main
End Select
Set Fso = Nothing
%>
<br>
</body>
</html>
<%
End Function
Sub Main()
Set FsoFile = Fso.GetFolder(Server.MapPath(TopDir))
if Err then
Set FsoFile = Nothing
Response.Write "找不到目录,可能参数配置错误!"
Response.End
end if
AllFileSize = FsoFile.size
Set FsoFile = Nothing
Set FsoFile = Fso.GetFolder(Server.MapPath(TopDir & CurrentDir))
Dim FolderNuns,FileNums
FolderNuns=FsoFile.SubFolders.count
FileNums=FsoFile.Files.count
TotalPut=FolderNuns+FileNums
if (TotalPut mod MaxPerPage)=0 then
TotalPages = TotalPut \ MaxPerPage
else
TotalPages = TotalPut \ MaxPerPage + 1
end if
if CurrentPage > TotalPages then CurrentPage=TotalPages
if CurrentPage < 1 then CurrentPage=1
Dim j,k
j=0
%>
<script language=javascript>
function Checked()
{
var j = 0
for(i=0;i < document.form.elements.length;i++){
if(document.form.elements[i].name == "FileId" || document.form.elements[i].name == "FolderId"){
if(document.form.elements[i].checked){
j++;
}
}
}
return j;
}
function CheckAll1()
{
for(i=0;i<document.form.elements.length;i++)
{
if(document.form.elements[i].checked){
document.form.elements[i].checked=false;
document.form.CheckAll.checked=false;
}
else{
document.form.elements[i].checked = true;
document.form.CheckAll.checked = true;
}
}
}
function DelAll()
{
if(Checked() <= 0){
alert("您必须选择其中的一个文件或文件夹");
}
else{
if(confirm("确定要删除选择的文件或文件夹么?\n此操作不可以恢复!")){
form.action="?ChannelID=<%=ChannelID%>&topdir=<%=topdir%>&action=Del&OpTypeStr=<%=OpTypeStr%>";
form.submit();
}
}
}
function Rname()
{
if(Checked() == 0){
alert("您必须选择一个文件或文件夹");
}
else{
if(Checked() != 1){
alert("只能选择一个文件或一个文件夹");
}
else{
for(i=0;i < document.form.elements.length;i++){
if(document.form.elements[i].name == "FolderId" && document.form.elements[i].checked){
var j = prompt("请输入新文件夹名",document.form.elements[i].value)
break;
}
else if(document.form.elements[i].name == "FileId" && document.form.elements[i].checked){
var j = prompt("请输入新文件名",document.form.elements[i].value.split(".")[0])
break;
}
}
if(j != "" && j != null){
if(IsStr(j) == j.length){
form.action="?ChannelID=<%=ChannelID%>&topdir=<%=topdir%>&action=Rname&OpTypeStr=<%=OpTypeStr%>&NewName=" + j;
form.target="_self";
form.submit();
}
else{
alert("新名称不符合标准,只能是字母、数字和下划线的组合,\n不能含有汉字、空格、点和其他符号");
}
}
}
}
}
function IsStr(w)
{
var str = "abcdefghijklmnopqrstuvwxyz_1234567890"
w = w.toLowerCase();
var j = 0;
for(i=0;i < w.length;i++){
if(str.indexOf(w.substr(i,1)) != -1){
j++;
}
}
return j;
}
</script>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="1" class="Border">
<tr class="Title">
<td align="center" colspan="2"><B><%=strTitle%></B></td>
</tr>
<tr class="Title2" height=23>
<td>主目录占用空间:<font color="#ff0000"><%=GetSize(AllFileSize,"b")%></font></td><td align="right"> <a href="?ChannelID=<%=ChannelID%>&topdir=<%=topdir%>&action=Main&OpTypeStr=<%=OpTypeStr%>&CurrentDir=" title=返回到主目录><font color=FF0000>返回主目录</font></a></td>
</tr>
<tr height=23>
<td>当前目录:<%=TopDir%><%=CurrentDir%> 占用空间:<font color="#ff0000"><%=GetSize(FsoFile.size,"b")%></font> 文件夹:<font color=blue><%=FolderNuns%></font> 个,文件:<font color=blue><%=FileNums%></font> 个</td>
<td align="right" width="80"><a href="?ChannelID=<%=ChannelID%>&topdir=<%=topdir%>&action=Main&OpTypeStr=<%=OpTypeStr%>&CurrentDir=<%=GetUpDir%>"><font color=FF0000>↑上一目录</font></a></td>
</tr>
</table>
<br>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC" class="Border">
<form name="form" method="post" >
<tr class="title">
<td width="48" height="25" align="center" bgcolor="F4F4EA">选中</td>
<td width="318" align="center" bgcolor="F4F4EA">文件/文件夹名</td>
<td width="197" align="center" bgcolor="F4F4EA">文件大小</td>
<td width="178" align="center" bgcolor="F4F4EA">最后修改时间</td>
<td width="198" align="center" bgcolor="F4F4EA">可用操作</td>
</tr>
<%
For Each DirFolder in FsoFile.SubFolders%>
<tr bgcolor="#ffffff" onMouseOver="this.style.background='#F5f5f5'" onMouseOut="this.style.background='#FFFFFF'">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -