php文件管理,可以点击按照时间,大小,名称排序
?本例没有用到jquery
演示
?
?
PHP Code
- $rootdir="./";???
- $spacenum=0;???
- $filenum=0;???
- $allfilesize=0;???
- echo?"
文件管理freejs.net测试
";??? - echo?"重置";???
- readLogDir($rootdir);???
- echo?"
";??? - echo?"Total?files?count:?$filenum.
";??? - echo?"Total?disk?space?used:?$allfilesize
";??? - $freespace=diskfreespace("/");???
- echo?"residue?disk?space:?$freespace
";??? - ??
- function?readLogDir($subdir){???
- global?$rootdir,$spacenum,$filenum,$allfilesize;???
- ??
- @chdir($subdir)?or?die?("error:could?not?change?to?this?directory!");???
- $dirobject=dir($subdir);???
- echo?"
文件名 文件大小 创建时间 - $i=0;???
- while?($file=$dirobject->read()){???
- ??
- if($file=="."?||?$file==".."){???
- continue;???
- }???
- $i=$i+1;???
- echo?"
".$i.".$rootdir."&file_name=".$file."?target=_blank>";??? - echo?$file."
".?number_format((filesize($file)/1024),2,'.','')."KB ".?date("Y-m-d?H:i:s",?filemtime($file)).?" - $allfilesize+=filesize($file);???
- $filenum++;???
- }???
- echo?"
- return;???
- }???
- ?>???
- ??
- >???
?
JavaScript Code
- /**?
- *?table排序?
- *?anthor?liueh?
- */??
- function?JM_PowerList(colNum)???
- {???
- headEventObject=event.srcElement;//取得引发事件的对象???
- while(headEventObject.tagName!="TR")?//不是tr行,则从底下的td冒泡上来寻找到相应行???
- {???
- headEventObject=headEventObject.parentElement;???
- }???
- ??
- for?(i=0;i
- {???
- if?(headEventObject.children[i]!=event.srcElement)//找到事件发生的td单元格???
- {???
- headEventObject.children[i].className='listTableHead';//把点击的列的className属性设为listTableHead???
- }???
- }???
- ??
- var?tableRows=0;???
- trObject=clearStart.children[0].children;?//取得表格中行对象,?原来这里叫DataTable,?可能是你写错了吧?????
- for?(i=0;i
- {???
- Object=clearStart.children[0].children[i];//取得每行的对象???
- tableRows=(trObject[i].id=='ignore')?tableRows:tableRows+1;//如果不是忽略行,则行数加一???
- }???
- ??
- var?trinnerHTML=new?Array(tableRows);???
- var?tdinnerHTML=new?Array(tableRows);???
- var?tdNumber=new?Array(tableRows)???
- var?i0=0???
- var?i1=0???
- for?(i=0;i
- {???
- if?(trObject[i].id!='ignore')???
- {???
- trinnerHTML[i0]=trObject[i].innerHTML;//把行放在数组里???
- tdinnerHTML[i0]=trObject[i].children[colNum].innerHTML;//把要排序的行中td的内容放数组里???
- tdNumber[i0]=i;//行号???
- i0++;//加一,下个循环用???
- }???
- }???
- sourceHTML=clearStart.children[0].outerHTML;//取得表格中所有tr的html代码???
- ??
- //对所有td中的字符串进行排序,?算不算冒泡排序??????
- for?(bi=0;bi
- {???
- for?(i=0;i
- {???
- if(tdinnerHTML[i]>tdinnerHTML[i+1])???
- {???
- t_s=tdNumber[i+1];???
- t_b=tdNumber[i];???
- tdNumber[i+1]=t_b;???
- tdNumber[i]=t_s;???
- temp_small=tdinnerHTML[i+1];???
- temp_big=tdinnerHTML[i];???
- tdinnerHTML[i+1]=temp_big;???
- tdinnerHTML[i]=temp_small;???
- }???
- }???
- }???
- ??
- ??
- ??
- var?showshow='';???
- var?numshow='';???
- for?(i=0;i
- {???
- showshow=showshow+tdinnerHTML[i]+'\n';//把排序好的td的内容存在showshow字串里???
- numshow=numshow+tdNumber[i]+'|';?//把排序好的相应的行号也存在numshow中???
- }???
- ??
- sourceHTML_head=sourceHTML.split("");//从截断,我试了,前头串为空???
- ??
- numshow=numshow.split("|");???
- var?trRebuildHTML='';???
- if?(event.srcElement.className=='listHeadClicked')???
- {//已点击的列,?则逆排???
- for?(i=0;i
- {???
- trRebuildHTML=trRebuildHTML+trObject[numshow[tableRows-1-i]].outerHTML;//取出排序好的tr的内容连接起来???
- ??
- }???
- event.srcElement.className='listHeadClicked0';???
- }???
- else???
- {//默认顺排,新点击顺排???
- for?(i=0;i
- {???
- trRebuildHTML=trRebuildHTML+trObject[numshow[i]].outerHTML;???
- }???
- event.srcElement.className='listHeadClicked';???
- }???
- //取得排序后的tr集合结果字符串???
- var?DataRebuildTable='';???
- //把旧的表格头和新的tr排序好的元素连接起来,?(修改了一下)???
- DataRebuildTable?=?"
"?+?trObject[0].outerHTML?+?trRebuildHTML?+?" "?+???
";???- ??
- "
- clearStart.outerHTML=DataRebuildTable;//表格用新串重新写一次???
- ??
- }???
?
原文地址:http://www.freejs.net/article_jquerywenzi_147.html