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

來源:互聯網
上載者:User
php檔案管理,可以點擊按照時間,大小,名稱排序

本例沒有用到jquery

示範

PHP Code
  1. $rootdir="./";
  2. $spacenum=0;
  3. $filenum=0;
  4. $allfilesize=0;
  5. echo "

    檔案管理freejs.net測試

    ";
  6. echo "重設";
  7. readLogDir($rootdir);
  8. echo "";
  9. echo "Total files count: $filenum.
    ";
  10. echo "Total disk space used: $allfilesize
    ";
  11. $freespace=diskfreespace("/");
  12. echo "residue disk space: $freespace
    ";
  13. function readLogDir($subdir){
  14. global $rootdir,$spacenum,$filenum,$allfilesize;
  15. @chdir($subdir) or die ("error:could not change to this directory!");
  16. $dirobject=dir($subdir);
  17. echo "
  18. $i=0;
  19. $allfilesize+=filesize($file);
  20. ";
  21. while ($file=$dirobject->read()){
  22. if($file=="." $file==".."){
  23. continue;
  24. }
  25. $i=$i+1;
  26. echo "
  27. ";
  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{
    13. if (headEventObject.children[i]!=event.srcElement)//找到事件發生的td儲存格
    14. {
    15. headEventObject.children[i].className="listTableHead";//把點擊的列的className屬性設為listTableHead
    16. }
    17. }
    18. var tableRows=0;
    19. trObject=clearStart.children[0].children; //取得表格中行對象, 原來這裡叫DataTable, 可能是你寫錯了吧??
    20. for (i=0;i{
    21. Object=clearStart.children[0].children[i];//取得每行的對象
    22. tableRows=(trObject[i].id=="ignore")?tableRows:tableRows+1;//如果不是忽略行,則行數加一
    23. }
    24. var trinnerHTML=new Array(tableRows);
    25. var tdinnerHTML=new Array(tableRows);
    26. var tdNumber=new Array(tableRows)
    27. var i0=0
    28. var i1=0
    29. for (i=0;i{
    30. if (trObject[i].id!="ignore")
    31. {
    32. trinnerHTML[i0]=trObject[i].innerHTML;//把行放在數組裡
    33. tdinnerHTML[i0]=trObject[i].children[colNum].innerHTML;//把要排序的行中td的內容放數組裡
    34. tdNumber[i0]=i;//行號
    35. i0++;//加一,下個迴圈用
    36. }
    37. }
    38. sourceHTML=clearStart.children[0].outerHTML;//取得表格中所有tr的html代碼
    39. //對所有td中的字串進行排序, 算不算冒泡排序???
    40. for (bi=0;bi
    41. for (i=0;i
    42. {
    43. if(tdinnerHTML[i]>tdinnerHTML[i+1])
    44. {
    45. {
    46. t_s=tdNumber[i+1];
    47. t_b=tdNumber[i];
    48. tdNumber[i+1]=t_b;
    49. tdNumber[i]=t_s;
    50. temp_small=tdinnerHTML[i+1];
    51. temp_big=tdinnerHTML[i];
    52. tdinnerHTML[i+1]=temp_big;
    53. tdinnerHTML[i]=temp_small;
    54. }
    55. }
    56. }
    57. var showshow="";
    58. var numshow="";
    59. for (i=0;i
    60. showshow=showshow+tdinnerHTML[i]+"\n";//把排序好的td的內容存在showshow字串裡
    61. {
    62. numshow=numshow+tdNumber[i]+""; //把排序好的相應的行號也存在numshow中
    63. }
    64. sourceHTML_head=sourceHTML.split("");//從截斷,我試了,前頭串為空白
    65. numshow=numshow.split("");
    66. var trRebuildHTML="";
    67. if (event.srcElement.className=="listHeadClicked")
    68. {//已點擊的列, 則逆排
    69. for (i=0;i
    70. trRebuildHTML=trRebuildHTML+trObject[numshow[tableRows-1-i]].outerHTML;//取出排序好的tr的內容串連起來
    71. {
    72. }
    73. event.srcElement.className="listHeadClicked0";
    74. }
    75. else
    76. {//預設順排,新點擊順排
    77. for (i=0;i
    78. trRebuildHTML=trRebuildHTML+trObject[numshow[i]].outerHTML;
    79. {
    80. }
    81. event.srcElement.className="listHeadClicked";
    82. }
    83. //取得排序後的tr集合結果字串
    84. var DataRebuildTable="";
    85. //把舊的表格頭和新的tr排序好的元素串連起來, (修改了一下)
    86. DataRebuildTable = "
    87. " + trObject[0].outerHTML + trRebuildHTML + "" +
    88. "
    89. ";
    90. clearStart.outerHTML=DataRebuildTable;//表格用新串重新寫一次
    91. }


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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.