<?
php $rootdir="./";
$spacenum=0;
$filenum=0;
$allfilesize=0;
echo "<h1>文件管理调试测试</h1>";
echo "<a href=''>重置</a>";
readlogdir($rootdir);
echo "<hr>";
echo "total files count: $filenum.<br>";
echo "total disk space used: $allfilesize<br>";
$fre
espace=diskfreespace("/");
echo "residue disk space: $freespace<br>";
function readlogdir($subdir){
global $rootdir,$spacenum,$filenum,$allfilesize;
@chdir($subdir) or die ("error:could not change to this directory!");
$dirobject=dir($subdir);
echo "<table width=600 border=0 align='center' id='clearstart'><tr id='ignore' ><td width=40% onclick='jm_powerlist(0)'><b>文件名</b></a></td><td width=20% onclick='jm_powerlist(1)'><b>文件大小</b></td><td width=40% onclick='jm_powerlist(2)'><b>创建时间</b></td></tr>";
$i=0;
while ($file=$dirobject->read()){
if($file=="." || $file==".."){
continue;
}
$i=$i+1;
echo "<tr bgcolor='#e0e0e0'><td>".$i."<a href=.php?file_dir=".$rootdir."&file_name=".$file." target=_blank>";
echo $file."</a></td><td>". number_format((filesize($file)/1024),2,'.','')."kb</td><td>". date("y-m-d h:i:s", filemtime($file)). "</td></tr>";
$allfilesize+=filesize($file);
$filenum++;
}
echo "</table>";
return;
}
?>
<script src="table_sort.
js"></script>
需要的js文件
/**
* table排序
* anthor liueh
*/
function jm_powerlist(colnum)
{
headeventobject=event.srcelement;//取得引发事件的对象
while(headeventobject.tagname!="tr") //不是tr行,则从底下的td冒泡上来寻找到相应行
{
headeventobject=headeventobject.parentelement;
}
for (i=0;i<headeventobject.children.length;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<trobject.length;i++)
{
object=clearstart.children[0].children[i];//取得每行的对象
tablerows=(trobject[i].id=='ignore')?tablerows:tablerows+1;//如果不是忽略行,则行数加一
}
var trinnerhtml=new array(tablerows);
var tdinnerhtml=new array(tablerows);
var tdnumber=new array(tablerows)
var i0=0
var i1=0
for (i=0;i<trobject.length;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<tablerows;bi++)
{
for (i=0;i<tablerows;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 showshow='';
var numshow='';
for (i=0;i<tablerows;i++)
{
showshow=showshow+tdinnerhtml[i]+'\n';//把排序好的td的内容存在showshow字串里
numshow=numshow+tdnumber[i]+'|'; //把排序好的相应的行号也存在numshow中
}
sourcehtml_head=sourcehtml.split("<tbody>");//从<tbody>截断,我试了,前头串为空
numshow=numshow.split("|");
var trrebuildhtml='';
if (event.srcelement.classname=='listheadclicked')
{//已点击的列, 则逆排
for (i=0;i<tablerows;i++)
{
trrebuildhtml=trrebuildhtml+trobject[numshow[tablerows-1-i]].outerhtml;//取出排序好的tr的内容连接起来
}
event.srcelement.classname='listheadclicked0';
}
else
{//默认顺排,新点击顺排
for (i=0;i<tablerows;i++)
{
trrebuildhtml=trrebuildhtml+trobject[numshow[i]].outerhtml;
}
event.srcelement.classname='listheadclicked';
}
//取得排序后的tr集合结果字符串
var datarebuildtable='';
//把旧的表格头和新的tr排序好的元素连接起来, (修改了一下)
datarebuildtable = "<table border=0 width=600 id='clearstart' align='center'><tbody>" + trobject[0].outerhtml + trrebuildhtml + "</tbody>" +
"</table>";
clearstart.outerhtml=datarebuildtable;//表格用新串重新写一次
}
评论列表:
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 1天前回复该评论