php文件管理,可以點擊按照時間,大小,名稱排序

php文件管理,可以點擊按照時間,大小,名稱排序

本例沒有用到jquery

php文件管理,可以點擊按照時間,大小,名稱排序演示

PHP Code

  1. <?php
  2. $rootdir=”./”;
  3. $spacenum=0;
  4. $filenum=0;
  5. $allfilesize=0;
  6. echo “

    文件管理freejs.net測試

    “;

  7. echo “重置”;
  8. readLogDir($rootdir);
  9. echo “

    “;

  10. echo “Total files count: $filenum.
    “;
  11. echo “Total disk space used: $allfilesize
    “;
  12. $freespace=diskfreespace(“/”);
  13. echo “residue disk space: $freespace
    “;
  14. function readLogDir($subdir){
  15. global $rootdir,$spacenum,$filenum,$allfilesize;
  16. @chdir($subdir) or die (“error:could not change to this directory!”);
  17. $dirobject=dir($subdir);
  18. echo “

    “;

  19. $i=0;
  20. while ($file=$dirobject->read()){
  21. if($file==”.” || $file==”..”){
  22. continue;
  23. }
  24. $i=$i+1;
  25. echo “
  26. “;

  27. $allfilesize+=filesize($file);
  28. $filenum++;
  29. }
  30. echo “
  31. 文件名 文件大小 創建時間
    “.$i.””;

  32. echo $file.”
  33. “. number_format((filesize($file)/1024),2,’.’,”).”KB “. date(“Y-m-d H:i:s”, filemtime($file)). “

    “;

  34. return;
  35. }
  36. ?>
  37. <script src=”table_sort.js”></script>

    JavaScript Code

    1. /**
    2. * table排序
    3. * anthor liueh
    4. */
    5. function JM_PowerList(colNum)
    6. {
    7. headEventObject=event.srcElement;//取得引發事件的對象
    8. while(headEventObject.tagName!=”TR”) //不是tr行,則從底下的td冒泡上來尋找到相應行
    9. {
    10. headEventObject=headEventObject.parentElement;
    11. }
    12. for (i=0;i<headEventObject.children.length;i++)
    13. {
    14. if (headEventObject.children[i]!=event.srcElement)//找到事件發生的td單元格
    15. {
    16. headEventObject.children[i].className=’listTableHead’;//把點擊的列的className屬性設為listTableHead
    17. }
    18. }
    19. var tableRows=0;
    20. trObject=clearStart.children[0].children; //取得表格中行對象, 原來這裡叫DataTable, 可能是你寫錯瞭吧??
    21. for (i=0;i<trObject.length;i++)
    22. {
    23. Object=clearStart.children[0].children[i];//取得每行的對象
    24. tableRows=(trObject[i].id==’ignore’)?tableRows:tableRows+1;//如果不是忽略行,則行數加一
    25. }
    26. var trinnerHTML=new Array(tableRows);
    27. var tdinnerHTML=new Array(tableRows);
    28. var tdNumber=new Array(tableRows)
    29. var i0=0
    30. var i1=0
    31. for (i=0;i<trObject.length;i++)
    32. {
    33. if (trObject[i].id!=’ignore’)
    34. {
    35. trinnerHTML[i0]=trObject[i].innerHTML;//把行放在數組裡
    36. tdinnerHTML[i0]=trObject[i].children[colNum].innerHTML;//把要排序的行中td的內容放數組裡
    37. tdNumber[i0]=i;//行號
    38. i0++;//加一,下個循環用
    39. }
    40. }
    41. sourceHTML=clearStart.children[0].outerHTML;//取得表格中所有tr的html代碼
    42. //對所有td中的字符串進行排序, 算不算冒泡排序???
    43. for (bi=0;bi<tableRows;bi++)
    44. {
    45. for (i=0;i<tableRows;i++)
    46. {
    47. if(tdinnerHTML[i]>tdinnerHTML[i+1])
    48. {
    49. t_s=tdNumber[i+1];
    50. t_b=tdNumber[i];
    51. tdNumber[i+1]=t_b;
    52. tdNumber[i]=t_s;
    53. temp_small=tdinnerHTML[i+1];
    54. temp_big=tdinnerHTML[i];
    55. tdinnerHTML[i+1]=temp_big;
    56. tdinnerHTML[i]=temp_small;
    57. }
    58. }
    59. }
    60. var showshow=”;
    61. var numshow=”;
    62. for (i=0;i<tableRows;i++)
    63. {
    64. showshow=showshow+tdinnerHTML[i]+’\n’;//把排序好的td的內容存在showshow字串裡
    65. numshow=numshow+tdNumber[i]+’|’; //把排序好的相應的行號也存在numshow中
    66. }
    67. sourceHTML_head=sourceHTML.split(““);//從截斷,我試瞭,前頭串為空
    68. numshow=numshow.split(“|”);
    69. var trRebuildHTML=”;
    70. if (event.srcElement.className==’listHeadClicked’)
    71. {//已點擊的列, 則逆排
    72. for (i=0;i<tableRows;i++)
    73. {
    74. trRebuildHTML=trRebuildHTML+trObject[numshow[tableRows-1-i]].outerHTML;//取出排序好的tr的內容連接起來
    75. }
    76. event.srcElement.className=’listHeadClicked0′;
    77. }
    78. else
    79. {//默認順排,新點擊順排
    80. for (i=0;i<tableRows;i++)
    81. {
    82. trRebuildHTML=trRebuildHTML+trObject[numshow[i]].outerHTML;
    83. }
    84. event.srcElement.className=’listHeadClicked’;
    85. }
    86. //取得排序後的tr集合結果字符串
    87. var DataRebuildTable=”;
    88. //把舊的表格頭和新的tr排序好的元素連接起來, (修改瞭一下)
    89. DataRebuildTable = “
      ” + trObject[0].outerHTML + trRebuildHTML + “” +

    90. “;

    91. clearStart.outerHTML=DataRebuildTable;//表格用新串重新寫一次
    92. }

      原文地址:https://www.freejs.net/article_jquerywenzi_147.html

You May Also Like