ホームページ >php教程 >php手册 >PHP リモート ファイル管理。テーブルのソート、ディレクトリのトラバース、時​​間によるソートが可能

PHP リモート ファイル管理。テーブルのソート、ディレクトリのトラバース、時​​間によるソートが可能

WBOY
WBOYオリジナル
2016-06-13 12:22:38944ブラウズ


コードをコピー コードは次のとおりです:


$rootdir="./";
$spacenum=0;
$filenum=0;
$allfilesize=0;
echo "

文件管理调试测试

";
echo "重置";
readLogDir($rootdir);
エコー "


";
echo "合計ファイル数: $filenum.
";
echo "使用された合計ディスク容量: $allfilesize
";
$freespace=diskfreespace("/");
echo "残りのディスク容量: $freespace
";
function readLogDir($subdir){
global $rootdir,$spacenum,$filenum,$allfilesize;
@chdir($subdir) または die (「エラー: このディレクトリに変更できませんでした!」);
$dirobject=dir($subdir);
echo "";
$i=0;
while ($file=$dirobject->read()){
if($file=="." || $file==".."){
続行;
}
$i=$i 1;
echo "";
$allfilesize =filesize($file);
$filenum ;
}
echo "
文件名文件大作成時間
".$i."";
echo $file."
"。 number_format((filesize($file)/1024),2,'.','')."KB". date("Y-m-d H:i:s", filemtime($file))。 "
";
戻る;
}
?>

必要な JS 文要素
/**
* テーブルソート
* 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 triinnerHTML=new Array(tableRows);
var tdinnerHTML=新しい配列(テーブル行);
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 showhow='';
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 ""
"< ;/table>";
clearStart.outerHTML=DataRebuildTable;//テーブルを新しい文字列で書き換えます
}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。