Subsequent development of the web file manager. . .

xiaoxiao2021-03-06  41

I saw CCOPUS DM45 today, I did very good, I also want to do it before this, do a very similar program with Windows Explorer. After seeing DM45, I feel that I still give up, the file management of the web mode is always permission to operate in the permission, and everyone is also almost the same, nothing more than the appearance, easy to operate the article, and document management Not very big, if it is more difficult to control, since others do it, I don't want to repeat the labor, and it is not good. The following code is posted, and the file is locally sorted by the file. But the level between the catalog has not yet been doing. Interested can take the reference, theory should be able to implement a very similar interface and operational way with Windows Explorer. The entire interface is not refreshed. Use XMLHTTP to perform the background code, use JS to modify the front desk display. Here is a kind of thought, I hope to have a help to beginners. The code is as follows: Web file manager version 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: #eeeeeee;} 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: #eeeeeee;}. Tx1 { Font-size: 9pt; border: 1px solid; border-color: # 000000; color: # 000000;} -> </ style> <%</p> <p>'Copyright Notice: This code is for learning research only, and I am not responsible for any consequences caused by this procedure. Not available for commercial use without written permission. 'QQ: 103895'Email: quixiaohui_0@163.com'http: //ASP2004.NET</p> <p>Server.scripttimeout = 999Action = request ("action") TEMP = Split (Request.ServerVariables ("URL"), "/") URL = Temp (Ubound (Temp))</p> <p>Const pass = "" 'login password</p> <p>'Login verification</p> <p>SET FSO = CREATEOBJECT ("scripting.filesystemObject") Path = Request ("Foldername") if path = "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ". folder</p> <p>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 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;</p> <p>Function Tree (ID, Name) {this.id = ID; this.name = name; this.root = new array (); this.length = 0; this.RD = function (file) {this.Root.push ( FILE); this.Length = 1;} this.max = function (F1, F2, Field) {switch (Field) {case "name": returnif1.name.tolowercase ()> f2.name.tolowercase () True: false; case "size": return f1.size> f2.size? true: false; case "type": // if (field == '??? t? d') Return FRSE; 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; i <len-1; i ) {for VAR J = I 1; J <Len; 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 =}}} else =}}} else =}}} else =}}}} else =}}} else =}}}}} else f (order == "ASC") {IF (this.Root [i], THIS.ROOT [J], Field)) {TMP = this.root [i]; this.root [i] = this.root [J]; this.root [J] = TMP;}}}}}}}}}}}}}}}}}}}}}} Fieldcode (Field) {if (Order == 'dec "{ORDER =' ASC ';} else {Order ='</p> <p>DESC ';} Tree.Sort (Field, Order);} Function show () {// for (var i = 0; i <form1.lements.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"> operation <input type = "checkbox" name = "chkall" οnclick = "> </ div> </ td> / <td> <div align = "center"> <a οnclick="fieldcode(/'name/' );show( );" href=#> file name </a> </ div> </ td> / <td> < DIV align = "center"> <a οnclick="fieldcode (() ();" href=#> size </a> </ div> </ td> / <td> <div align = "center"> <a οnclick="fieldcode (/'Type/' );show( );" href= #> type </a> </ div> </ td> / <td> <div align = " Center "> <a οnclick="fieldcode (/'Datecreated/' );show( );" href=#> creation time </a> </ div> </ td> / <td> <div align =" center "> <a οnclick="fieldcode (/'Datelastaccessed/' );Show( );" href=#> Last access time </a> </ div> </ td> / <td> <div align =" Center "> <a οnclick="fieldcode (/'Datelastmodified/') ;Show( );" href=#> last modified time </a> </ div> </ td> / <td> <div align = "center"> <a οNCLICK = "FIEL DCODE (/ 'attributes /'); show (); "href = #> attribute </a> </ div></p> <p></ td> / </ tr> '; var f; for (i = 0; i <tree.Length; i ) {f = r..root [i]; str =' <tr bgcolor = "# eeeeee" οnmοuseοver = this.bgcolor = / '# f3f6fa /'; οnmοuseοut = this.bgcolor = / '# eeeeee /';> / <td> <center> <input type = "checkbox" name = "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 arder =' dec '; var; </ script> <body online = "show ()"> <form name = " Form1 "Method = Post Action ="> <span id = "list"> </ span> </ form> </ body> <%</p> <p>Response.write ("<script language = javaScript>" & vbrlf) Response.write ("Var Tree = New Tree ('" & jscode (f.path) & ",'" & jscode (f.name) & "); "& VBCRLF) SET FC = F.Subfoldersfor Each F1 in Fc Response.write (" Tree.Add (New File ('"& f1.name", "& f1.size &",' "& f1.type &", '"& f1 .Datecreated & "','" & f1.datelastaccessed & ", '" & f1.dateLastmodified & ",'" & f1.attributes & ");" & vbrlf) NextSet FC = Filesfor Each F1 in fc Response.write ("Tree .Add (New file ('"& f1.name &", "& f1.size &",' "& f1.datecreated &", '"& f1.datelastaccessed &",' "& f1.datelastmodified &" ',' "& f1.attributes &"); "& VBCRLF) Next (" </ script> ") End FunctionFunction Jscode (s) jscode = replace (s," / ",") end function</p> <p>%></p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-63277.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="63277" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.041</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'FPG_2FazQZBYNMmkaIUtC_2BMtTXEMKqKhLITwPqjdV6LjBW1_2F4AXg24GIf0H6LFD4tlKDL0Jukyr5s3nWcrLIYnRw_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>