• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    web文件管理器的后续开发
    web文件管理器的后续开发。。。     选择自 iuhxq 的 Blog  
    关键字   web文件管理器的后续开发。。。 
    出处    

     今天看了一下ccopus的DM45,做的很不错,在这之前我也想做一个了,做一个跟windows资源管理器非常类似的程序。看到dm45以后觉得自己还是放弃吧,WEB方式的文件管理无论如何都是在权限允许内操作,而且大家实现的也都差不多,无非是在外观上,易操作上做文章,文件管理本来作用也不是很大,如果是多用户的权限比较难控制,既然别人做了,我想还是不要重复劳动的好,况且也不见得能做的好。下面的代码贴出来留个纪念,实现了文件的本地排序。但目录之间的层次还没有搞好。有兴趣的可以拿去参考,理论上应该可以实现跟windows资源管理器极类似的界面和操作方式。整个界面都采取无刷新方式。用XMLHTTP来执行后台代码,用JS来修改前台显示。这里体现了一种思想,希望对初学者能有个帮助。
    代码如下:
    title>WEB文件管理器2.0版 http://asp2004.net/title>
    meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    style type="text/css">
    !--
    a {
     font-size: 9pt;
     color: #3300CC;
     text-decoration: none;
    }
    body {
     font-size: 9pt;
     margin-left: 0px;
     margin-top: 0px;
     margin-right: 0px;
     margin-bottom: 0px;
     line-height: 20px;
     background-color: #EEEEEE;
    }
    td {
     font-size: 9pt;
     line-height: 20px;
    }
    .tx {
     border-color:#000000;
     border-left-width: 0px;
     border-top-width: 0px;
     border-right-width: 0px;
     border-bottom-width: 1px;
     font-size: 9pt;
     background-color: #EEEEEE;
    }
    .tx1 {
     font-size: 9pt;
     border: 1px solid;
     border-color:#000000;
     color: #000000;
    }
    -->
    /style>
    %

    '版权声明:本代码仅供学习研究之用,本人不对因使用本程序而造成的任何后果负责。未经作者书面许可不得用于商业用途。
    'QQ:103895
    'email:quxiaohui_0@163.com
    'http://asp2004.net

    Server.ScriptTimeout = 999
    action = Request("action")
    temp = Split(Request.ServerVariables("URL"), "/")
    url = temp(UBound(temp))

    Const pass = ""'登陆密码

    '登陆验证

    Set fso = CreateObject("Scripting.FileSystemObject")
            Path = Request("foldername")
            If Path = "" Then Path = server.MapPath("./")
            ShowFolderList(Path)
    Set fso = Nothing

    '列出文件和文件夹

    Function ShowFolderList(folderspec)
        temp = Request.ServerVariables("HTTP_REFERER")
        temp = Left(temp, Instrrev(temp, "/"))
        temp1 = Len(folderspec) - Len(server.MapPath("./")) -1
        If temp1>0 Then
            temp1 = Right(folderspec, CInt(temp1)) + "\"
        ElseIf temp1 = -1 Then
            temp1 = ""
        End If
        tempurl = temp + Replace(temp1, "\", "/")
        uppath = "./" + Replace(temp1, "\", "/")
        upfolderspec = fso.GetParentFolderName(folderspec"\")
        Set f = fso.GetFolder(folderspec)
    %>
    script language="javascript">
    function File(Name, Size, Type, DateCreated, DateLastAccessed, DateLastModified, Attributes)
    {
     this.Name = Name;
     this.Size = Size;
     this.Type = Type;
     this.DateCreated = DateCreated;
     this.DateLastAccessed = DateLastAccessed;
     this.DateLastModified = DateLastModified;
     this.Attributes = Attributes;
    }

    function Tree(id, name)
    {
     this.id = id;
     this.name = name;
     this.root = new Array();
     this.length = 0;

     this.Add = function(file)
     {
      this.root.push(file);
      this.length += 1;
     }
     this.max = function(f1, f2, field)
     {
      switch( field )
      {
       case "Name":
        return f1.Name.toLowerCase()>f2.Name.toLowerCase()? true:false;
       case "Size":
        return f1.Size>f2.Size? true:false;
       case "Type":
        //if (field == '???t?D') return false;
        return f1.Type>f2.Type? true:false;
       case "DateCreated":
        return f1.DateCreated>f2.DateCreated? true:false;
       case "DateLastAccessed":
        return f1.DateLastAccessed>f2.DateLastAccessed? true:false;
       case "DateLastModified":
        return f1.DateLastModified>f2.DateLastModified? true:false;
       case "Attributes":
        return f1.Attributes>f2.Attributes? true:false;
       default:
        return false;
      }
     }
     this.sort=function(field, order)
     {
     //order:desc asc
     //field:Name Size
      var len = this.root.length;
      if( len  2 ) return;
      var tmp;
      for(var i=0; ilen-1; i++)
      {
       for(var j=i+1; jlen; j++)
       {
        if( order == "desc")
        {
         if( !this.max( this.root[i], this.root[j], field ) )
         {
          tmp = this.root[i];
          this.root[i] = this.root[j];
          this.root[j] = tmp;
         }
        }
        else if ( order == "asc")
        {
         if( this.max( this.root[i], this.root[j], field ) )
         {
          tmp = this.root[i];
          this.root[i] = this.root[j];
          this.root[j] = tmp;
         }
        }
       }
      }
     }
    }
    function fieldcode(field)
    {
     if (order == 'desc')
     {
      order = 'asc';
     }
     else
     {
      order = 'desc';
     }
     tree.sort(field, order);
    }
    function show()
    {
    //for (var i=0;iform1.elements.length;i++){var e = form1.elements[i];if (e.type == "checkbox")e.checked = form1.chkall.checked;}
     str = 'table width="100%" border="0" cellspacing="0" cellpadding="0">\
      tr bgcolor="#EEEEEE">\
      td>div align="center">操作input type="checkbox" name="chkall" onclick="">/div>/td>\
      td>div align="center">a onclick="fieldcode(\'Name');show();" href=#>文件名/a>/div>/td>\
      td>div align="center">a onclick="fieldcode(\'Size');show();" href=#>大小/a>/div>/td>\
      td>div align="center">a onclick="fieldcode(\'Type');show();" href=#>类型/a>/div>/td>\
      td>div align="center">a onclick="fieldcode(\'DateCreated');show();" href=#>创建时间/a>/div>/td>\
      td>div align="center">a onclick="fieldcode(\'DateLastAccessed');show();" href=#>上次访问时间/a>/div>/td>\
      td>div align="center">a onclick="fieldcode(\'DateLastModified');show();" href=#>上次修改时间/a>/div>/td>\
      td>div align="center">a onclick="fieldcode(\'Attributes');show();" href=#>属性/a>/div>/td>\
      /tr>';
     var f;
     for(i=0;itree.length;i++)
     {
      f = tree.root[i];
      str += 'tr bgcolor="#EEEEEE" onmouseover=this.bgColor=\'#F3F6FA'; onmouseout=this.bgColor=\'#EEEEEE';>\
       td>center>input type="checkbox" name="f" value="'+tree.id+"\\\\"+f.Name+'">/center>/td>\
       td>a href="'+f.url+'">'+f.Name+'/a>/td>\
       td>'+f.Size+'/td>\
       td>'+f.Type+'/td>\
       td>'+f.DateCreated+'/td>\
       td>'+f.DateLastAccessed+'/td>\
       td>'+f.DateLastModified+'/td>\
       td>'+f.Attributes+'/td>\
       /tr>';
     }
     str += '/table>';
     eval(list).innerHTML = str;
    }
    var field = 'Name';
    var order = 'desc';
    var str;
    /script>
    body onLoad="show()">
    form name="form1" method=post action="">
    span id="list">/span>
    /form>
    /body>
    %

    Response.Write("script language=javascript>"vbcrlf)
    Response.Write("var tree = new Tree('"jscode(f.path)"','"jscode(f.name)"');"vbcrlf)
    Set fc = f.SubFolders
    For Each f1 in fc
     Response.Write("tree.Add(new File('"f1.name"',"f1.size",'"f1.Type"','"f1.DateCreated"','"f1.DateLastAccessed"','"f1.DateLastModified"','"f1.Attributes"'));"vbcrlf)
    Next
    set fc = f.Files
    For Each f1 in Fc
     Response.Write("tree.Add(new File('"f1.name"',"f1.size",'"f1.Type"','"f1.DateCreated"','"f1.DateLastAccessed"','"f1.DateLastModified"','"f1.Attributes"'));"vbcrlf)
    Next
    Response.Write("/script>")
    End Function

    function jscode(s)
     jscode = replace(s,"\","\\\\")
    end function

    %> 

      

     

    您可能感兴趣的文章:
    • Linux操作系统文件管理器的共享
    • 用vbs实现在启动 Windows 资源管理器时打开特定文件夹
    • Cmstp 安装或删除“连接管理器”服务配置文件
    • 11款基于Javascript的文件管理器
    • java编写的文件管理器代码分享
    上一篇:ASP错误处理
    下一篇:上一篇,下一篇过程代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    web文件管理器的后续开发 web,文件管理器,的,后续,