欢迎光临
我们一直在努力

回复: kw,你的那个程序不能用绝对路径?如c:\

建站超值云服务器,限时71元/月

1. 其实我现在使用的就是一个比较完整的。代码见下:
2. 由于需要在两天之内写出来(the whole site),代码很不漂亮,也没有 err handle, optimize.
3. filesystemobject 只能用绝对路径。所以需要 mappath method.
4. microsoft suminfo object 只支持本地文件,不能 net use…
5. 但是他有 c++ 的源代码,你可以…
6. 很抱歉没办法把整个站点和大家共享,因为在intranet.
7. 为了对大家负责,我又看了一遍这段半年前的代码,好烂。 🙂
凑和用 8。 🙂
=================================
<%@ language=vbscript %>
<%
*********************************************************
  this file is written by
  kw copyright reserved. 🙂
  if you have any question, directly contact w/ me.
  some features are just under construction…
*********************************************************
%>

<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
<link rel="stylesheet" type="text/css" href="/css/mycss.css">
</head>
<body>

<script language=javascript>
<!–
  function mousemove()
  {
    var srcelement;
    srcelement=window.event.srcelement;
    {
      srcelement.classname = "coolstyle";
    }
  }

  function mouseout()
  {
    var srcelement;
    srcelement=window.event.srcelement;
    {
      srcelement.classname = "normalstyle";
    }
  }

//–>
</script>

<script language=vbscript runat = server>

     virtual root
    fileservername = "fileserver"
    vroot = "/file"

     get the files collection from current folder
    dim fs, f, f1, fc, s
    set fs = createobject("scripting.filesystemobject")

begin of function – to get path info from external
     get path parameter from external
    spath = request("spath")
    if (spath = "" or spath = ".") then
        spath = "."
        response.write "<table class = tablefilename border=0 width=100%>"
        response.write "<tr align=center>"
        shellostring = "hi, guy, i didnt get correct path info, so i can only show you current folder"
        response.write "<td>" & shellostring & "</td></tr></table>"
    end if
     merge absolute path
    sabpath = server.mappath (".") & "/" & spath
    set f = fs.getfolder (sabpath)
end of function – to get path info from external

    set fc = f.files
     create suminfo object
    dim suminfo
    set suminfo = server.createobject("iissample.summaryinfo")
    
     which kinds of document should be displayed?
    
    bdocchecked = request.form ("doc")
    bxdocchecked = request("xdoc")
    
    bpptchecked = request.form ("ppt")
    bxpptchecked = request("xppt")
    
    bxlschecked = request.form ("xls")
    bxxlschecked = request("xxls")
    
    btxtchecked = request.form ("txt")
    bxtxtchecked = request("xtxt")
    
    bzipchecked = request.form ("zip")
    bxzipchecked = request("xzip")
    
     display all document in the folder is dangerous, so…
    ballchecked = request.form ("all")
    
     tell the visitor how to display document
    response.write "<table class = tablefilename border=0 width=100%>"

    response.write "<tr align=center><td>"
    response.write "<font color=navy>"
    response.write "current folder: <a href=file://" &  fileservername & vroot & "/" & spath & " target=_blank>"
    response.write "<span onmousemove=mousemove() onmouseout=mouseout()>"
    response.write "//" & fileservername & vroot & "/" & spath & "</a>"
    response.write "</span>"
    response.write "</font>"
    response.write "</td></tr>"

    response.write "<tr align=center><td>"
    response.write "<font color=green>please select the document type you want to list, and click refresh</font>"
    response.write "</td></tr>"

    response.write "<tr align=center><td>"
    response.write "<form action=display.asp" & "?spath=" & spath & " id=choose_doc_type method=post name=form1>"
    response.write "<input id=checkbox1 name=doc type=checkbox "
    if ( bdocchecked = "on" or bxdocchecked = "on" ) then response.write "checked"
    response.write ">word"
    response.write "<input id=checkbox2 name=ppt type=checkbox "
    if ( bpptchecked = "on" or bxpptchecked = "on" ) then response.write "checked"
    response.write ">powerpoint"
    response.write "<input id=checkbox3 name=xls type=checkbox "
    if ( bxlschecked = "on" or bxxlschecked = "on" ) then response.write "checked"
    response.write ">excel"
    response.write "<input id=checkbox4 name=txt type=checkbox "
    if ( btxtchecked = "on" or bxtxtchecked = "on" ) then response.write "checked"
    response.write ">text"
    response.write "<input id=checkbox5 name=zip type=checkbox "
    if ( bzipchecked = "on" or bxzipchecked = "on" ) then response.write "checked"
    response.write ">zip"
     display all document in the folder is dangerous, so…
    response.write "<input id=checkbox6 name=all type=checkbox "
    if ballchecked = "on" then response.write "checked"
    response.write ">all"
    response.write "<input id=submit1 name=submit1 type=submit value=refresh>"
    response.write "</form>"
    response.write "</td></tr>"
    response.write "</table>"
    
     list files & properties, one by one
     ===================================
     first above all, display table header
    response.write "<table border=0 width=100%>"
    
    for each f1 in fc
         get file name
        s = f1.name
         get file type
        filetype = right(s,3)
        bdisplay = false
        if filetype = "doc" and ( bdocchecked = "on" or bxdocchecked = "on" ) then bdisplay = true
        if filetype = "ppt" and ( bpptchecked = "on" or bxpptchecked = "on" ) then bdisplay = true
        if filetype = "xls" and ( bxlschecked = "on" or bxxlschecked = "on" ) then bdisplay = true
        if filetype = "txt" and ( btxtchecked = "on" or bxtxtchecked = "on" ) then bdisplay = true
        if filetype = "zip" and ( bzipchecked = "on" or bxzipchecked = "on" ) then bdisplay = true
         display all document in the folder is dangerous, so…
        if ballchecked = "on" then bdisplay = true

        if bdisplay = true then
        
         get this files properties

        suminfo.setfile spath & "/" & s
         first, display this files icon & name
        response.write "<tr><td colspan=2 class=tablefilename>"
         display icon according to file type
        select case filetype
        case "xls": response.write "<img src=" & vroot & "/images/xls.gif width=16 height=16 space=11>"
        case "doc": response.write "<img src=" & vroot & "/images/doc.gif width=16 height=16 space=11>"
        case "mdb": response.write "<img src=" & vroot & "/images/mdb.gif width=16 height=16 space=11>"
        case "ppt": response.write "<img src=" & vroot & "/images/ppt.gif width=16 height=16 space=11>"
        case "url": response.write "<img src=" & vroot & "/images/url.gif width=16 height=16 space=11>"
        case "zip": response.write "<img src=" & vroot & "/images/txt.gif width=16 height=16 space=11>"
        case else : response.write "<img src=" & vroot & "/images/txt.gif width=16 height=16 space=11>"
        end select
        
        response.write "<span onmousemove=mousemove() onmouseout=mouseout()>"
        response.write "<a href=" & spath & "/" & s & "></span>" & s & "</a>"
        
         its funny that only ppt has bytes property
        if filetype = "ppt" then response.write " (file size: " & suminfo.bytes & ")"

         begin of function – to see if the doc is new, for example, in near 5 days
         theres once very important, to confirm that your system time looks like
         "thursday, november 20, 1997, 5:02:45 pm"
         otherwise youll get error
         to avoid the error, please change long time format to
           dddd, mm dd, yyyy
         on sc nt server
        get first ","
        dim slst, ipos_fisrtcomm, ipos_secondcomm
         now its like "thursday, november 20, 1997, 5:02:45 pm"
        slst = suminfo.lastsavetime

        ipos_fisrtcomm = instr (1, slst, ",")
         make its like "november 20, 1997, 5:02:45 pm"
        slst = right (slst ,(len(slst)-ipos_fisrtcomm -1) )
         again, to get first "," & second ","
        ipos_fisrtcomm = instr (1, slst, ",")
        ipos_secondcomm = instr ((ipos_fisrtcomm +1), slst, ",")
         make its like "november 20, 1997"
        slst = left (slst, ipos_secondcomm – 1)

        if ((date – datevalue (slst)) < 5) then response.write " <img src=" & vroot & "/images/new.gif>"
         end of function – to see if the doc is new, for example, in near 5 days

        response.write "</tr>"
         then, display nessesary properties one by one
          owner, ie, author
        response.write "<tr class=tablefiledetail>"
        response.write "<td align=right valign=top width=30%><b>owner</b></td>"
        response.write "<td valign=top>"
        response.write "<a href=mailto:" & suminfo.author & "><u>" & suminfo.author & "</u></td>"
          subject
        response.write "<tr class=tablefiledetail>"
        response.write "<td align=right valign=top><b>subject</b></td>"
        response.write "<td valign=top>" & suminfo.subject & "</td>"
          title
        response.write "<tr class=tablefiledetail>"
        response.write "<td align=right valign=top><b>title</b></td>"
        response.write "<td valign=top>" & suminfo.title  & "</td>"
          comments
        response.write "<tr class=tablefiledetail>"
        response.write "<td align=right valign=top><b>comment</b></td>"
        response.write "<td valign=top>" & suminfo.comments & "</td>"
        response.write "</td></tr>"
          last saved day
        response.write "<tr class=tablefiledetail>"
        response.write "<td align=right valign=top><b>last saved day</b></td>"
        response.write "<td valign=top>" & suminfo.lastsavetime & "</td>"
        response.write "</td></tr>"
        
          word doc page number (only for word doc)
        if filetype = "doc" then
            response.write "<tr class=tablefiledetail>"
            response.write "<td align=right valign=top><b>word page number:</b></td>"
            response.write "<td valign=top>" & suminfo.pagecount & "</td>"
            response.write "</td></tr>"
        end if
          slides page number (only for ppt)
        if filetype = "ppt" then
            response.write "<tr class=tablefiledetail>"
            response.write "<td align=right valign=top><b>slides page number:</b></td>"
            response.write "<td valign=top>" & suminfo.slides & "</td>"
            response.write "</td></tr>"
        end if
        end if        
    next

    response.write "</table>"
    
     release resource – kill the objects
    set suminfo = nothing
    set f1 = nothing
    set fc = nothing
    set f = nothing
    set fs = nothing
    
    
</script>

</body>
</html>
=======================

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 回复: kw,你的那个程序不能用绝对路径?如c:\
分享到: 更多 (0)