主頁 > 知識庫 > web文件管理器的后續(xù)開發(fā)

web文件管理器的后續(xù)開發(fā)

熱門標(biāo)簽:企數(shù)外呼系統(tǒng)能用多久 寧夏怎么申請400電話 咸陽銷售外呼系統(tǒng) 離線電子地圖標(biāo)注軟件注冊 辦理400電話一年多少錢 常用地圖標(biāo)注范圍點 蘭州智能語音電銷機(jī)器人功能 為什么外呼系統(tǒng)需要預(yù)存話費(fèi)呢 外呼回?fù)芟到y(tǒng)圖片
web文件管理器的后續(xù)開發(fā)。。。     選擇自 iuhxq 的 Blog  
關(guān)鍵字   web文件管理器的后續(xù)開發(fā)。。。 
出處    

 今天看了一下ccopus的DM45,做的很不錯,在這之前我也想做一個了,做一個跟windows資源管理器非常類似的程序??吹絛m45以后覺得自己還是放棄吧,WEB方式的文件管理無論如何都是在權(quán)限允許內(nèi)操作,而且大家實現(xiàn)的也都差不多,無非是在外觀上,易操作上做文章,文件管理本來作用也不是很大,如果是多用戶的權(quán)限比較難控制,既然別人做了,我想還是不要重復(fù)勞動的好,況且也不見得能做的好。下面的代碼貼出來留個紀(jì)念,實現(xiàn)了文件的本地排序。但目錄之間的層次還沒有搞好。有興趣的可以拿去參考,理論上應(yīng)該可以實現(xiàn)跟windows資源管理器極類似的界面和操作方式。整個界面都采取無刷新方式。用XMLHTTP來執(zhí)行后臺代碼,用JS來修改前臺顯示。這里體現(xiàn)了一種思想,希望對初學(xué)者能有個幫助。
代碼如下:
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>
%

'版權(quán)聲明:本代碼僅供學(xué)習(xí)研究之用,本人不對因使用本程序而造成的任何后果負(fù)責(zé)。未經(jīng)作者書面許可不得用于商業(yè)用途。
'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=#>創(chuàng)建時間/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操作系統(tǒng)文件管理器的共享
  • 用vbs實現(xiàn)在啟動 Windows 資源管理器時打開特定文件夾
  • Cmstp 安裝或刪除“連接管理器”服務(wù)配置文件
  • 11款基于Javascript的文件管理器
  • java編寫的文件管理器代碼分享

標(biāo)簽:昆明 麗江 昌都 家電維修 泰州 咸陽 溫州 鐵嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《web文件管理器的后續(xù)開發(fā)》,本文關(guān)鍵詞  web,文件管理器,的,后續(xù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《web文件管理器的后續(xù)開發(fā)》相關(guān)的同類信息!
  • 本頁收集關(guān)于web文件管理器的后續(xù)開發(fā)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章