设为首页 收藏本站
查看: 505|回复: 0

[经验分享] php文件管理,可以点击按照时间,大小,名称排序

[复制链接]

尚未签到

发表于 2017-4-10 07:57:50 | 显示全部楼层 |阅读模式
php文件管理,可以点击按照时间,大小,名称排序
 本例没有用到jquery

DSC0000.jpg
演示
 
PHP Code

  • <?php   
  • $rootdir="./";   
  • $spacenum=0;   
  • $filenum=0;   
  • $allfilesize=0;   
  • echo "<h1>文件管理freejs.net测试</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($subdiror 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>   


 
JavaScript Code

  • /** 
  • * 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!=event.srcElement)//找到事件发生的td单元格   
  • {   
  • headEventObject.children.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;//取得每行的对象   
  • tableRows=(trObject.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.id!='ignore')   
  • {   
  • trinnerHTML[i0]=trObject.innerHTML;//把行放在数组里   
  • tdinnerHTML[i0]=trObject.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>tdinnerHTML[i+1])   
  • {   
  • t_s=tdNumber[i+1];   
  • t_b=tdNumber;   
  • tdNumber[i+1]=t_b;   
  • tdNumber=t_s;   
  • temp_small=tdinnerHTML[i+1];   
  • temp_big=tdinnerHTML;   
  • tdinnerHTML[i+1]=temp_big;   
  • tdinnerHTML=temp_small;   
  • }   
  • }   
  • }   
  •   
  •   
  •   
  • var showshow='';   
  • var numshow='';   
  • for (i=0;i<tableRows;i++)   
  • {   
  • showshow=showshow+tdinnerHTML+'\n';//把排序好的td的内容存在showshow字串里   
  • numshow=numshow+tdNumber+'|'//把排序好的相应的行号也存在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].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;//表格用新串重新写一次   
  •   
  • }   


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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-362630-1-1.html 上篇帖子: php导出word格式数据的实例代码 下篇帖子: felayman------php_自定义函数过滤指定字符
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表