欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php文件管理,可以点击按照时间,大小,名称排序

程序员文章站 2022-06-02 18:49:54
...

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. while ($file=$dirobject->read()){
  20. if($file=="." $file==".."){
  21. continue;
  22. }
  23. $i=$i+1;
  24. echo "
  25. ";
  26. $allfilesize+=filesize($file);
  27. $filenum++;
  28. }
  29. echo "
  30. 创建时间
    ".$i."";
  31. echo $file."
  32. ". number_format((filesize($file)/1024),2,".","")."KB ". date("Y-m-d H:i:s", filemtime($file)). "
    ";
  33. return;
  34. }
  35. ?>
  36. 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. if(tdinnerHTML[i]>tdinnerHTML[i+1])
    43. {
    44. t_s=tdNumber[i+1];
    45. t_b=tdNumber[i];
    46. tdNumber[i+1]=t_b;
    47. tdNumber[i]=t_s;
    48. temp_small=tdinnerHTML[i+1];
    49. temp_big=tdinnerHTML[i];
    50. tdinnerHTML[i+1]=temp_big;
    51. tdinnerHTML[i]=temp_small;
    52. }
    53. }
    54. }
    55. var showshow="";
    56. var numshow="";
    57. for (i=0;i{
    58. showshow=showshow+tdinnerHTML[i]+"\n";//把排序好的td的内容存在showshow字串里
    59. numshow=numshow+tdNumber[i]+""; //把排序好的相应的行号也存在numshow中
    60. }
    61. sourceHTML_head=sourceHTML.split("");//从截断,我试了,前头串为空
    62. numshow=numshow.split("");
    63. var trRebuildHTML="";
    64. if (event.srcElement.className=="listHeadClicked")
    65. {//已点击的列, 则逆排
    66. for (i=0;i{
    67. trRebuildHTML=trRebuildHTML+trObject[numshow[tableRows-1-i]].outerHTML;//取出排序好的tr的内容连接起来
    68. }
    69. event.srcElement.className="listHeadClicked0";
    70. }
    71. else
    72. {//默认顺排,新点击顺排
    73. for (i=0;i{
    74. trRebuildHTML=trRebuildHTML+trObject[numshow[i]].outerHTML;
    75. }
    76. event.srcElement.className="listHeadClicked";
    77. }
    78. //取得排序后的tr集合结果字符串
    79. var DataRebuildTable="";
    80. //把旧的表格头和新的tr排序好的元素连接起来, (修改了一下)
    81. DataRebuildTable = "" + trObject[0].outerHTML + trRebuildHTML + "" +
    82. "
    83. ";
    84. clearStart.outerHTML=DataRebuildTable;//表格用新串重新写一次
    85. }


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