`
caozuiba
  • 浏览: 905057 次
文章分类
社区版块
存档分类
最新评论

清理上传文件的简易代码(asp)

 
阅读更多
<%@language=vbscript codepage=936 %>
<%
dim strFileName
strFileName="?"
dim totalPut,CurrentPage,TotalPages,pageFileCount,pageTotleSize
dim UploadDir,TruePath,fso,theFolder,theFile,whichfile,thisfile,FileCount,TotleSize

Const SaveUpFilesPath="UploadFiles" '文件所在目录
Const MaxPerPage=5 '每页显示记录数


if request("page")<>"" then
currentPage=cint(request("page"))
else
currentPage=1
end if

if right(SaveUpFilesPath,1)<>"/" then
UploadDir="../" & SaveUpFilesPath & "/"
else
UploadDir="../" & SaveUpFilesPath
end if
TruePath=Server.MapPath(UploadDir)
If not IsObjInstalled("Scripting.FileSystemObject") Then
Response.Write "<b><font color=red>你的服务器不支持 FSO(Scripting.FileSystemObject)! 不能使用本功能</font></b>"
Else
set fso=CreateObject("Scripting.FileSystemObject")
if request("Action")="Del" then
whichfile=server.mappath(Request("FileName"))
Set thisfile = fso.GetFile(whichfile)
thisfile.Delete True
end if

%>
<script language="JavaScript">
function ConfirmDel()
{
if (confirm("你真的要删除此文件吗!"))
return true;
else
return false;
}
</script>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="862" align="center" valign="top"> <br>
<p align="center"><strong>上
传 文 件 管 理</strong></p>
<%
if fso.FolderExists(TruePath)then
FileCount=0
TotleSize=0
Set theFolder=fso.GetFolder(TruePath)
For Each theFile In theFolder.Files
FileCount=FileCount+1
TotleSize=TotleSize+theFile.Size
next
totalPut=FileCount
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
if currentPage=1 then
showContent
showpage2 strFileName,totalput,MaxPerPage
response.write "<br><div align='center'>本页共显示 <b>" & pageFileCount & "</b> 个文件,占用 <b>" & pageTotleSize/1024 & "</b> K</div>"
else
if (currentPage-1)*MaxPerPage<totalPut then
showContent
showpage2 strFileName,totalput,MaxPerPage
response.write "<br><div align='center'>本页共显示 <b>" & pageFileCount & "</b> 个文件,占用 <b>" & pageTotleSize/1024 & "</b> K</div>"
else
currentPage=1
showContent
showpage2 strFileName,totalput,MaxPerPage
response.write "<br><div align='center'>本页共显示 <b>" & pageFileCount & "</b> 个文件,占用 <b>" & pageTotleSize/1024 & "</b> K</div>"
end if
end if
else
response.write "找不到文件夹!可能是配置有误!"
end if
end if

sub showContent()
dim c
pageFileCount=0
pageTotleSize=0
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="2" class="border">
<tr bgcolor="A4B6D7" class="title">
<td width="158" height="25" align="center">文件名</td>
<td width="84" height="20" align="center">文件大小</td>
<td width="134" height="20" align="center">文件类型</td>
<td width="119" height="20" align="center">最后修改时间</td>
<td width="43" height="20" align="center">操作</td>
</tr>
<%

For Each theFile In theFolder.Files
c=c+1
if pageFileCount>=MaxPerPage then
exit for
elseif c>MaxPerPage*(CurrentPage-1) then
%>
<tr class="tdbg">
<td height="22" bgcolor="F2F8FF"><a href="<%=(UploadDir & theFile.Name)%>" target="_blank"><strong>&nbsp;<%=theFile.Name%></strong></a></td>
<td width="84" align="right" bgcolor="F2F8FF"><%=theFile.size%>字节</td>
<td width="134" align="center" bgcolor="F2F8FF"><%=theFile.type%></td>
<td width="119" align="center" bgcolor="F2F8FF"><%=theFile.DateLastModified%></td>
<td width="43" align="center" bgcolor="F2F8FF"><a href="?Action=Del&FileName=<%=UploadDir&theFile.Name%>" onClick="return ConfirmDel()">删除</a></td>
</tr>
<%
pageFileCount=pageFileCount+1
pageTotleSize=pageTotleSize+theFile.Size
end if
Next
%>
</table>
<%
end sub
%> </td>
</tr>
</table>
<%
sub showpage2(sfilename,totalnumber,maxperpage)
dim n, i,strTemp
if totalnumber mod maxperpage=0 then
n= totalnumber / maxperpage
else
n= totalnumber / maxperpage+1
end if
strTemp= "<table align='center'><form name='showpages' method='Post' action='" & sfilename & "'><tr><td>"
strTemp=strTemp & "共 <b>" & totalnumber & "</b> 个文件,占用 <b>" & TotleSize/1024 & "</b> K&nbsp;&nbsp;&nbsp;"
sfilename=JoinChar(sfilename)
if CurrentPage<2 then
strTemp=strTemp & "首页 上一页&nbsp;"
else
strTemp=strTemp & "<a href='" & sfilename & "page=1'>首页</a>&nbsp;"
strTemp=strTemp & "<a href='" & sfilename & "page=" & (CurrentPage-1) & "'>上一页</a>&nbsp;"
end if

if n-currentpage<1 then
strTemp=strTemp & "下一页 尾页"
else
strTemp=strTemp & "<a href='" & sfilename & "page=" & (CurrentPage+1) & "'>下一页</a>&nbsp;"
strTemp=strTemp & "<a href='" & sfilename & "page=" & n & "'>尾页</a>"
end if
strTemp=strTemp & "&nbsp;页次:<strong><font color=red>" & CurrentPage & "</font>/" & n & "</strong>页 "
strTemp=strTemp & "&nbsp;<b>" & maxperpage & "</b>" & "个/页"
strTemp=strTemp & "&nbsp;转到:<select name='page' size='1' onchange='javascript:submit()'>"
for i = 1 to n
strTemp=strTemp & "<option value='" & i & "'"
if cint(CurrentPage)=cint(i) then strTemp=strTemp & " selected "
strTemp=strTemp & ">第" & i & "页</option>"
next
strTemp=strTemp & "</select>"
strTemp=strTemp & "</td></tr></form></table>"
response.write strTemp
end sub

'***************************************************
'函数名:IsObjInstalled
'作 用:检查组件是否已经安装
'参 数:strClassString ----组件名
'返回值:True ----已经安装
' False ----没有安装
'***************************************************
Function IsObjInstalled(strClassString)
On Error Resume Next
IsObjInstalled = False
Err = 0
Dim xTestObj
Set xTestObj = Server.CreateObject(strClassString)
If 0 = Err Then IsObjInstalled = True
Set xTestObj = Nothing
Err = 0
End Function

'***********************************************
'函数名:JoinChar
'作 用:向地址中加入 ? 或 &
'参 数:strUrl ----网址
'返回值:加了 ? 或 & 的网址
'pos=InStr(1,"abcdefg","cd")
'则pos会返回3表示查找到并且位置为第三个字符开始。
'这就是“查找”的实现,而“查找下一个”功能的
'实现就是把当前位置作为起始位置继续查找。
'***********************************************
function JoinChar(strUrl)
if strUrl="" then
JoinChar=""
exit function
end if
if InStr(strUrl,"?")<len(strUrl) then
if InStr(strUrl,"?")>1 then
if InStr(strUrl,"&")<len(strUrl) then
JoinChar=strUrl & "&"
else
JoinChar=strUrl
end if
else
JoinChar=strUrl & "?"
end if
else
JoinChar=strUrl
end if
end function
%>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics