📄 admin_files.asp
字号:
<!--#include file="../Conn.asp"-->
<!--#include file="../inc/Cl_ClsSysTem.asp"-->
<!--#include file="../inc/Cl_Function_Public.asp"-->
<!--#include file="../inc/Cl_ClsUbb.asp"-->
<!--#include file="../inc/Cl_FileIcon.asp"-->
<!--#include file="Inc/Function.asp"-->
<%
Dim ChannelID
Dim ComeUrl,FoundErr,Errmsg
Dim SQL,Rs,i
ComeUrl=Cstr(Request.ServerVariables("HTTP_REFERER"))
ChannelID=Cl.GetClng(Request("ChannelID"))
Cl.Page_Admin=True
Cl.Get_WebSetting()
Cl.ChkUserLogin()
if Cl.UserGroupID<>1 then Cl.ShowErr("<br /><li>您无此操作权限!</li>")
If Not Cl.ChkObjInstalled(Trim(Cl.Web_Info(13))) Then
Cl.ShowErr("<b><font color=red>你的服务器不支持 FSO("&Cl.Web_Info(13)&")! 不能使用本功能</font></b>")
end if
Cl.Get_ChannelSetting(ChannelID)
Const PageSize=30
Dim FileType,TopDir,action
Dim Fso,FsoFile,AllFileSize
Dim ThisDir,DirFiles,DirFolder,strTitle
Dim TotalPut,CurrentPage,TotalPages,sTrSetting
sTrSetting = Split(Cl.Channel.selectSingleNode("@uploadsetting").text,"@")
action = LCase(Trim(Request("action")))
ThisDir = Trim(Request("ThisDir"))
FileType = LCase(Trim(Request("FileType")))
CurrentPage = Cl.GetClng(request("page"))
Select Case FileType
Case "html"
if Not Cl.ChkAdminLogin then Cl.ShowErr("<br /><li>您无此操作权限!</li>")
if Not Cl.TrueOtherPurview("Upload") then Cl.ShowErr("<br /><li>您无此操作权限!</li>")
TopDir=Cl.WebDir & Cl.HtmlDir' & Cl.Channel.selectSingleNode("@channeldir").text
strTitle="Html文件管理"
Case "upload"
if Not Cl.ChkAdminLogin then Cl.ShowErr("<br /><li>您无此操作权限!</li>")
if Not Cl.TrueOtherPurview("Upload") then Cl.ShowErr("<br /><li>您无此操作权限!</li>")
if ChannelID=0 then
TopDir=Cl.UploadDir
else
TopDir=Cl.UploadDir & sTrSetting(1)
end if
strTitle="上传文件管理"
Case "select"
TopDir=Cl.UploadDir & sTrSetting(1)
strTitle="选择已上传的文件"
Case Else
if Not Cl.ChkAdminLogin then Cl.ShowErr("<br /><li>您无此操作权限!</li>")
if Cint(Cl.Admin_Purview(0))<>1 then
Cl.ShowErr("<li>您无此操作权限!</li>")
end if
TopDir=Cl.WebDir
strTitle="网站文件管理"
End Select
TopDir=Replace(TopDir & "/","//","/")
if ThisDir<>"" then
ThisDir=Replace(ThisDir & "/","//","/")
end If
Header
Set Fso=Server.CreateObject(Trim(Cl.Web_Info(13)))
Select Case action
Case "del"
Call DelAll
Case "rname"
Call Rname
Case Else
Call Main
End Select
'if Err then Response.write "错误:" & Err.Description
Set Fso = Nothing
Footer
Sub Main()
On Error Resume Next
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
On Error GoTo 0
Set FsoFile = Fso.GetFolder(Server.MapPath(TopDir & ThisDir))
Dim FolderNuns,FileNums
FolderNuns=FsoFile.SubFolders.count
FileNums=FsoFile.Files.count
TotalPut=FolderNuns+FileNums
if (TotalPut mod PageSize)=0 then
TotalPages = TotalPut \ PageSize
else
TotalPages = TotalPut \ PageSize + 1
end if
if CurrentPage > TotalPages then CurrentPage=TotalPages
if CurrentPage < 1 then CurrentPage=1
Dim j,k
j=0
%>
<script language="JavaScript" type="text/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="Admin_Files.asp?action=Del&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>";
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="Admin_Files.asp?action=Rname&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>&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 border="0" cellspacing="1" cellpadding="0" align="center" class="Border">
<tr class="title">
<td align="center" colspan="2"><b><%=strTitle%></b></td>
</tr>
<tr class="title2" height="23">
<td>主目录占用空间:<font color="#ff0000"><%=Cl.GetSize(AllFileSize,"b")%></font></td><td align="right"> <a href="Admin_Files.asp?action=Main&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>&ThisDir=" title="返回到主目录"><font color="FF0000">返回主目录</font></a></td>
</tr>
<tr class="Tdbg" height="23">
<td>当前目录:主目录/<%=ThisDir%> 占用空间:<font color="#ff0000"><%=Cl.GetSize(FsoFile.size,"b")%></font> 文件夹:<font color="blue"><%=FolderNuns%></font> 个,文件:<font color="blue"><%=FileNums%></font> 个</td>
<td align="right" width="80"><a href="Admin_Files.asp?action=Main&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>&ThisDir=<%=GetUpDir%>"><font color="FF0000">↑上一目录</font></a></td>
</tr>
</table>
<br />
<table border="0" cellspacing="1" cellpadding="0" align="center" class="Border">
<form method="post" name="form" id="form" >
<tr class="title">
<td width="30" align="center">选中</td>
<td align="center">文件/文件夹名</td>
<td width="80" align="center">文件大小</td>
<td width="120" align="center">最后修改时间</td>
<td width="80" align="center">可用操作</td>
</tr>
<%
For Each DirFolder in FsoFile.SubFolders%>
<tr class="tdbg">
<td align="center" width="30">
<input type="checkbox" name="FolderId" value="<%=DirFolder.name%>" />
</td>
<td> <a href="Admin_Files.asp?action=Main&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>&ThisDir=<%=ThisDir & DirFolder.name%>"><img src="<%=Cl.WebDir%>images/fileicon/folder.gif" border="0" width="16" height="16" align="absmiddle" /></a> <a href="Admin_Files.asp?action=Main&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>&ThisDir=<%=ThisDir & DirFolder.name%>"><%=DirFolder.name%></a></td>
<td align="center" width="80"><%=Cl.GetSize(DirFolder.size,"b")%></td>
<td align="center" width="120"> <%=DirFolder.DateLastModified%></td>
<td align="center" width="80"><a href="Admin_Files.asp?action=Main&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>&ThisDir=<%=ThisDir & DirFolder.name%>">打开</a></td>
</tr>
<%
'j=j+1
'k=k+1
Next
For Each DirFiles in FsoFile.Files
k=k+1
if j>=PageSize then
exit for
elseif k>PageSize*(CurrentPage-1) then
%>
<tr class="tdbg">
<td align="center" width="30">
<input type="checkbox" name="FileId" value="<%=DirFiles.name%>" />
</td>
<td>
<%if FileType="select" then%>
<a href="#" onclick="window.returnValue='<%=GetFileUrl(TopDir & ThisDir & DirFiles.name)%>|<%=int(DirFiles.size/1000)%>';window.close();">
<%else%>
<a href="<%=TopDir & ThisDir & DirFiles.name%>" target="_blank">
<%end if%>
<img src="<%=Cl.WebDir%>images/fileicon/<%=GetFileIcon(DirFiles.name)%>" border="0" width="16" height="16" align="absmiddle" alt="<%=DirFiles.type%>" /> <%=DirFiles.name%></a></td>
<td align="center" width="80"><%=Cl.GetSize(DirFiles.size,"b")%></td>
<td align="center" width="120"><%=DirFiles.DateLastModified%></td>
<td align="center" width="80">
<%if FileType="select" then%>
<a href="#" onclick="window.returnValue='<%=GetFileUrl(TopDir & ThisDir & DirFiles.name)%>|<%=int(DirFiles.size/1000)%>';window.close();">选择</a>
<%else%>
<a href="<%=TopDir & ThisDir & DirFiles.name%>" target="_blank">浏览</a> | <a href="Admin_Files.asp?action=Del&FileType=<%=FileType%>&ChannelID=<%=ChannelID%>&ThisDir=<%=ThisDir%>&FileId=<%=DirFiles.name%>" onclick="return confirm('确定要删除选择的文件么?\n此操作不可以恢复!')">删除</a>
<%end if%> </td>
</tr>
<%
j=j+1
end if
Next
if FileType<>"select" then
%>
<tr class="tdbg">
<td width="30" align="center">
<input type="checkbox" name="CheckAll" value="checkbox" onclick="CheckAll1()" title="全部选择" style="cursor:hand" />
</td>
<td colspan="5" height="30">
<input type="button" name="Submit" value="重命名" class="button" onclick="Rname()" title="重命名" />
<input type="button" name="Submit2" value="删 除" class="button" onclick="DelAll()" title="删除" />
<input type="hidden" name="ThisDir" value="<%=ThisDir%>" />
</td>
</tr>
<%end if%>
</form>
<tr class="tdbg">
<td width="100%" align="center" colspan="6">
<%=Cl.ShowPage("Admin_Files.asp?action=Main&FileType="&FileType&"&ChannelID="&ChannelID&"&ThisDir="&ThisDir,TotalPut,PageSize,"个","文件")%>
</td>
</tr>
</table>
<%
Set FsoFile = Nothing
End Sub
Function GetUpDir()
Dim strDir,strDir2,i
strDir=""
If ThisDir = "" then Exit Function
strDir2=ThisDir
strDir2=Split(strDir2,"/")
for i=0 to Ubound(strDir2)-1
if i<Ubound(strDir2)-1 then strDir=strDir & strDir2(i) & "/"
next
GetUpDir=strDir
End Function
Sub DelAll()
Dim FolderId,FileId,FileNum,FolderNum,FilePath,FolderPath
Dim FsoFolder,sSize
FolderId = Split(Request.Form("FolderId"),",")
FileId = Trim(Request("FileId"))
FileNum=0
FolderNum=0
If instr(FileId,",")>0 then
FileId = Split(FileId,",")
If Ubound(FileId) > -1 then
For i = 0 to Ubound(FileId)
FilePath = Server.MapPath(TopDir & ThisDir & Trim(FileId(i)))
If Fso.FileExists(FilePath) then
Fso.DeleteFile FilePath,true
FileNum = FileNum + 1
End If
Next
End If
else
FilePath = Server.MapPath(TopDir & ThisDir & FileId)
If Fso.FileExists(FilePath) then
Fso.DeleteFile FilePath,true
FileNum = FileNum + 1
End If
end if
If Ubound(FolderId) > -1 then
For i = 0 to Ubound(FolderId)
FolderPath = Server.MapPath(TopDir & ThisDir & Trim(FolderId(i)))
If Fso.FolderExists(FolderPath) then
Set FsoFolder = Fso.GetFolder(FolderPath)
if FsoFolder.size <=0 then
Fso.DeleteFolder FolderPath,true
FolderNum = FolderNum + 1
end if
End If
Next
End If
Cl.SaveAdminLog
Call Cl.OutMsg(0,"\n成功删除 "& FileNum &" 个文件\n成功删除 "& FolderNum &" 个文件夹",ComeUrl)
End Sub
Sub Rname()
Dim FolderName,FileName,NewName,OldName,strNewName
FolderName = Trim(Request("FolderId"))
FileName = Trim(Request("FileId"))
NewName = Trim(Request("NewName"))
if NewName="" then Call Cl.OutMsg(0,"请输入新文件名!",ComeUrl)
If len(FolderName) <> 0 then
strNewName = Server.MapPath(TopDir & ThisDir & NewName)
OldName = Server.MapPath(TopDir & ThisDir & FolderName)
If not Fso.FolderExists(strNewName) then
Fso.MoveFolder OldName,strNewName
Cl.SaveAdminLog
Call Cl.OutMsg(0,"文件夹“"& FolderName &"”已经成功改名为“"& NewName &"”",ComeUrl)
Else
Call Cl.OutMsg(0,"有同名文件夹,请换个文件夹名试试!",ComeUrl)
End If
End If
If len(FileName) <> 0 then
Dim FileExt,NewFileExt
Response.write FileName
FileExt=Split(FileName,".")
NewFileExt=Trim(FileExt(Ubound(FileExt)))
if Instr(NewName,".")>0 then
Call Cl.OutMsg(0,"文件名中不能带“.”,换个文件名!",ComeUrl)
Response.end
end if
NewName=NewName & "." & NewFileExt
strNewName = Server.MapPath(TopDir & ThisDir & NewName)
OldName = Server.MapPath(TopDir & ThisDir & FileName)
If not Fso.FileExists(strNewName) then
Fso.MoveFile OldName,strNewName
Cl.SaveAdminLog
Call Cl.OutMsg(0,"文件“"& FileName &"”已经成功改名为“"& NewName &"”",ComeUrl)
Else
Call Cl.OutMsg(0,"有同名文件,请换个文件名试试!",ComeUrl)
End If
End If
End Sub
Function GetFileUrl(strUrl)
dim strSaveUrl
strSaveUrl=Trim(strUrl)
if Lcase(left(strSaveUrl,Len(Cl.UpLoadDir)))=Lcase(Cl.UpLoadDir) then
strSaveUrl="{$uploaddir}" & mid(strSaveUrl,Len(Cl.UpLoadDir)+1)
elseif left(strSaveUrl,1)="/" then
strSaveUrl="{$webdir}" & mid(strSaveUrl,2)
end if
GetFileUrl=strSaveUrl
End Function
%>
<!--
'┌───────────────────────────────────────────────────────┐
'│ │
'│ CreateLive CMS Version 4.0 │
'│ Powered by Aspoo.CN │
'│ │
'│ 邮箱: support@aspoo.cn Info@aspoo.cn │
'│ QQ: 3315263 596197794 │
'│ 网站: www.aspoo.cn www.aspoo.com │
'│ 论坛: bbs.aspoo.cn bbs.aspoo.com │
'│ │
'│ Copyright (C) 2005-2007 Aspoo.CN All Rights Reserved. │
'└───────────────────────────────────────────────────────┘
'-->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -