PHP 远程文件管理,可以给表格排序,遍历目录,时间排序


Posted in PHP onAugust 07, 2009

PHP 远程文件管理,可以给表格排序,遍历目录,时间排序

<?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>"; 
$freespace=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;//表格用新串重新写一次 
}
PHP 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
php字符编码转换之gb2312转为utf8
Oct 28 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php防止sql注入代码实例
Dec 18 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
PHP 翻页 实例代码
Aug 07 #PHP
php Sql Server连接失败问题及解决办法
Aug 07 #PHP
php_xmlhttp 乱码问题解决方法
Aug 07 #PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 #PHP
php 全局变量范围分析
Aug 07 #PHP
PHP 多维数组排序实现代码
Aug 05 #PHP
PHP 简单数组排序实现代码
Aug 05 #PHP
You might like
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
jQuery实现跨域
2015/02/03 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
python2与python3共存问题的解决方法
2018/09/18 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
python获取txt文件词向量过程详解
2019/07/05 Python
django数据库自动重连的方法实例
2019/07/21 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
Python接口自动化测试的实现
2020/08/28 Python
python zip()函数的使用示例
2020/09/23 Python
结婚周年感言
2014/02/24 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
小学师德师风整改措施
2014/10/27 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
python用字节处理文件实例讲解
2021/04/13 Python