ホームページ > php教程 > php手册 > PHP ファイル管理。クリックして時間、サイズ、名前で並べ替えることができます

PHP ファイル管理。クリックして時間、サイズ、名前で並べ替えることができます

WBOY
リリース: 2016-06-21 08:48:17
オリジナル
1079 人が閲覧しました

php ファイル管理。クリックして時間、サイズ、名前で並べ替えることができます

この例では jquery を使用しません

デモ

PHP コード
  1. $rootdir="./";
  2. $spacenum=0;
  3. $allfilesize=0;
  4. ファイル管理
  5. ";

    echo "リセット";

    readLogDir($rootdir);
  6. echo "
  7. ";
  8. echo "合計ファイル数: $filenum.
    ";
  9. echo "使用された合計ディスク容量: $allfilesize
    ";
  10. $freespace=diskfreespace("/");
    echo "残りのディスク容量: $freespace
  11. "; > function readLogDir($subdir){
  12. global $rootdir,$spacenum,$filenum,$allfilesize;
  13. @chdir($subdir) または die (「エラー: このディレクトリに変更できませんでした!」 ) ;
  14. $dirobject=dir($subdir);
  15. echo "";
  16. $i=0;
  17. while ($file=$dirobject->read()){
  18. if($file=="." $file==".."){
  19. 作成時間
    ";
  20. $i=0;
  21. while ($file=$dirobject->read()){
  22. if($file=="." $file==".."){
  23. continue;
  24. }
  25. $i=$i+1;
  26. echo "
  27. ";
  28. $allfilesize+=filesize($file);
  29. $filenum++;
  30. }
  31. echo "
  32. 创建时间
    ".$i."";
  33. echo $file."
  34. ". number_format((filesize($file)/1024),2,".","")."KB ". date("Y-m-d H:i:s", filemtime($file)). "
    続行; $i=$i+1; = "#e0e0e0">".$i.""; echo $file." ".number_format((filesize($file)/1024),2,". " ,"")."KB ". date("Y-m-d H:i:s", filemtime($file)). ""; $ allfilesize+ =filesize($file); $filenum++>} エコー "
  35. ";
  36. return;
  37. }
  38. ?>
  39. JavaScript コード
    1. /**
    2. * テーブルソート
    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. for (i=0; i{ if (headEventObject.children[i]!=event.srcElement)//イベントが発生した td セルを検索します
    12. {
    13. headEventObject.children [i].className="listTableHead";//クリックされた列の className 属性を listTableHead に設定します
    14. }
    15. }
    16. var tableRows=0; >trObject=clearStart.children[ 0].children; //これは DataTable という名前であることがわかりました。
    17. for (i=0;i{
    18. Object=clearStart.children[0].children[i];//各行のオブジェクトを取得しますtableRows=(trObject[i].id=="ignore ")?tableRows:tableRows+1;//行を無視しない場合は、行数に 1 を加えます
    19. }
    20. var triinnerHTML=new Array(tableRows);
    21. var tdinnerHTML=new Array(tableRows);
    22. var tdNumber=new Array(tableRows)
    23. var i0=0
    24. var i1=0
    25. for (i=0;i {
    26. if (trObject[i].id!="ignore ") {
    27. trinnerHTML[i0]=trObject[i].innerHTML;// 行を配列に入れます
    28. tdinnerHTML[ i0]=trObject[i].children[colNum].innerHTML;/ /並べ替える行の td の内容を配列に入れます
    29. tdNumber[i0]=i //行番号
    30. i0++; // 1 つ追加します。次のループで
    31. }
    32. } sourceHTML=clearStart.children[0].outerHTML;// テーブル内のすべての tr の HTML コードを取得します
    33. //すべての td 内の文字列をソートします。バブル ソートとみなされますか?
    34. for (bi=0;bi{
    35. for (i=0;i{ {
    36. for (i=0;i{
    37. if(tdinnerHTML[i]>tdinnerHTML[i+1])
    38. {
    39. t_s=tdNumber[i+1];
    40. t_b=tdNumber[i];
    41. tdNumber[i+1]=t_b;
    42. tdNumber[i]=t_s;
    43. temp_small=tdinnerHTML[i+1];
    44. temp_big=tdinnerHTML[i];
    45. tdinnerHTML[i+1]=temp_big;
    46. tdinnerHTML[i]=temp_small;
    47. }
    48. }
    49. }
    50. var showshow="";
    51. var numshow="";
    52. for (i=0;i{
    53. showshow=showshow+tdinnerHTML[i]+"n";//把排序好的td的内容存在showshow字串里
    54. numshow=numshow+tdNumber[i]+""; //把排序好的相应的行号也存在numshow中
    55. }
    56. sourceHTML_head=sourceHTML.split("");//从截断,我试了,前头串为空
    57. numshow=numshow.split("");
    58. var trRebuildHTML="";
    59. if (event.srcElement.className=="listHeadClicked")
    60. {//已点击的列, 则逆排
    61. for (i=0;i{
    62. trRebuildHTML=trRebuildHTML+trObject[numshow[tableRows-1-i]].outerHTML;//取出排序好的tr的内容连接起来
    63. }
    64. event.srcElement.className="listHeadClicked0";
    65. }
    66. else
    67. {//默认顺排,新点击顺排
    68. for (i=0;i{
    69. trRebuildHTML=trRebuildHTML+trObject[numshow[i]].outerHTML;
    70. }
    71. event.srcElement.className="listHeadClicked";
    72. }
    73. //取得排序后的tr集合结果字符串
    74. var DataRebuildTable="";
    75. //把旧的表格头和新的tr排序好的元素连接起来, (修改了一下)
    76. DataRebuildTable = "" + trObject[0].outerHTML + trRebuildHTML + "" +
    77. "
    78. if(tdinnerHTML[i]>tdinnerHTML[i+1])
    79. {
    80. t_s=tdNumber[i+1];
    81. t_b=tdNumber[i];

      tdNumber[i+1]=t_b;

      tdNumber[i] =t_s;
      temp_big=tdinnerHTML[i]; +1]=temp_big;

      tdinnerHTML[i]=temp_small;
      }
      }

      }

      var var numshow=""; for (i=0;i{ showshow=showshow+tdinnerHTML[i]+"n";// ソートされた td コンテンツを showshow に保存しますstring 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
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート