落伍者站长论坛's Archiver

7yu 发表于 2006-4-22 22:44

帮看看这个目录图片直读程序怎么排序..

好像默认的是按文件名顺序升序排列,怎么改成按时间或者文件名降序排列?
各位高手帮我看看  谢谢了.
[code]
<%@language=vbscript codepage=936 %>
<%
'以下为修改内容
Const UploadDir=""        '存放文件的目录
Const MaxPerPage=50                      '每页显示数量
const title=""   '标题

'检查组件是否已经安装
Function IsObjInstalled(strClassString)       
        IsObjInstalled = False
        Err = 0
        Dim xTestObj
        Set xTestObj = Server.CreateObject(strClassString)
        If 0 = Err Then IsObjInstalled = True
        Set xTestObj = Nothing
        Err = 0
End Function
dim strFileName
dim totalPut,CurrentPage,TotalPages
dim TruePath,fso,theFolder,theFile,whichfile,thisfile,FileCount,TotleSize
strFileName="?"

if request("page")<>"" then
    currentPage=cint(request("page"))
else
        currentPage=1
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")       

%>
<html>
<head>
<title><%=title%></title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<meta name="author" content="netasp;EMAIL:netasp@sohu.com">
<style type="text/css">
<!--
body,table,td{font-size:12px;color:#000090;}
body{margin:0 0 1px;padding:0;background:#ffffff url(fsoimg/bgbrick.gif);}
table{width:760px}
table table{width:100%;background:#eeeeee}
td{vertical-align:top;}
table table td{padding-left:4px;vertical-align:middle;background:#ffffff}
img{vertical-align:bottom}
form{margin:0;padding:0}
a{color:#000080;text-decoration:none;}
a:hover{color:#ff3333;text-decoration:underline}
div{width:100%;background:#eeeeee}
.button{width:65px;height:20px;border:solid 1px;border-color:#ffffff #666666 #666666 #ffffff;margin:3px 0;}
.imgbutton{width:32px;height:32px;border:solid 1px #d6d3cc;cursor:hand;}
.imgbt{border:solid 1px;border-color:#ffffff #999999 #999999 #ffffff;cursor:hand;}
//-->
</style>
</head>
<body>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="">
<meta name="keywords" content="">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" align="center">
    <tr>      
      <td width="100%" align="center" valign="top">      
  
      <%
  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>" & FileCount-1 & "</b> 个文件,占用 <b>" & TotleSize\1024 & "</b> K</div>"
           else
                      if (currentPage-1)*MaxPerPage<totalPut then
                        showContent            
                        showpage2 strFileName,totalput,MaxPerPage
                        response.write "<br><div align='center'>本页共显示 <b>" & FileCount-1 & "</b> 个文件,占用 <b>" & TotleSize\1024 & "</b> K</div>"
               else
                currentPage=1
                        showContent            
                        showpage2 strFileName,totalput,MaxPerPage
                        response.write "<br><div align='center'>本页共显示 <b>" & FileCount-1 & "</b> 个文件,占用 <b>" & TotleSize\1024 & "</b> K</div>"
            end if
        end if
  else
        response.write "找不到文件夹!可能是配置有误!"
  end if
end if

sub showContent()
           dim c
        FileCount=1
        TotleSize=0
%>
      <table width="100%" border="0" align="center" cellpadding="5" cellspacing="5">
                          <tr class="tdbg">
        <% For Each theFile In theFolder.Files
        c=c+1
        if FileCount>MaxPerPage then
                exit for
        elseif c>MaxPerPage*(CurrentPage-1) then %>
          <td>
<img src=<%=(UploadDir & theFile.Name)%> border=0></td>
<% if FileCount mod 5 =0 then%>
              </TR>
              <tr>
                <%end if%>
        <%        FileCount=FileCount+1
                TotleSize=TotleSize+theFile.Size
        end if
Next
%>                        </tr>
      </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> 个文件&nbsp;&nbsp;"
          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
%>
[/code]

[[i] 本帖最后由 7yu 于 2006-4-25 19:25 编辑 [/i]]

7yu 发表于 2006-4-24 01:16

猪头宝宝 发表于 2006-4-24 05:27

楼下告诉他

7yu 发表于 2006-4-25 18:27

没人知道嘛?

盛飞 发表于 2006-4-25 18:42

最简单的方法把你的文件名用时间格式来命名,自己再琢磨一下规律就知道如何命名了……(比如15会显示到5有的前面……因为它是从左到右一位一位的比较大小的)
没有太注意这个,估计不能直接按时间排序,弄个数组重新排序……

7yu 发表于 2006-4-25 19:23

[quote]原帖由 [i]盛飞[/i] 于 2006-4-25 06:42 PM 发表
最简单的方法把你的文件名用时间格式来命名,自己再琢磨一下规律就知道如何命名了……(比如15会显示到5有的前面……因为它是从左到右一位一位的比较大小的)
没有太注意这个,估计不能直接按时间排序,弄个数组 ... [/quote]
现在文件都是自动按日期命名的,这个直读好像是按升序排列的  怎么改为降序呢? 想叫最新的图片排在前面

盛飞 发表于 2006-4-25 19:38

那也简单,写个循环,不直接输出图片,把图片内容赋值给一个变量,完了再显示输出变量。

如果你会写循环代码,你看下这个简单的例子就你知道了

<%
dim i,str
str = ""
for i=1 to 9
'str = str & "内容" & i    '这是升序
str = "内容" & i & str     '这是降序
next
%>
<%=str%>

[[i] 本帖最后由 盛飞 于 2006-4-25 19:40 编辑 [/i]]

sumy 发表于 2008-5-10 17:15

我用Php版有同样问题,不知道谁能帮解决一下

zhujie 发表于 2008-5-10 23:50

:cool: :cool: :cool:

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.