思路:

1.读取该php所在文件夹的文件列表,用"改动时间、文件名称"做键值对,塞入数组。对"改动时间"倒序。(貌似不能直接按时间倒序读取文件列表,此处为间接方法)

2.读取的若为文件直接输出,为文件夹就输出文件夹并递归扫描其下文件。

<?

php
//遍历当前文件夹下全部文件的和文件夹,并以树装形式显示
//1.打开文件夹句柄。获取句柄资源
//2.读取句柄资源,并显示当前和子文件夹下的(文件夹和文件名)
function getDirFile($path){ if(!($file_handler=opendir($path)))
return; $fileNTimes=array();
//遍历-当前文件夹的"文件",排除该php文件
while(false !== ($file=readdir($file_handler))){
if($file=='.' || $file=='..' || $file=='index.php')
continue;
$fileNTimes[filemtime($path.'/'.$file)]=$file;
}
//倒序
krsort($fileNTimes); foreach ($fileNTimes as $mtime=>$file)
{
$file_path="$path/$file"; //路径
$rel_path=str_replace(__DIR__."/", "", $file_path); //相对路径
//若为-文件夹
if(is_dir($file_path)){
//依据"文件夹级别"缩进
if(substr_count($file_path,"/")>1){
$count=str_repeat("  ",substr_count($file_path,"/"));
echo $count.'+'.$file;
}else{
echo '+'.$file;
}
echo "<br/>";
getDirFile($file_path);
}
//若为-文件
else{
if(substr_count($file_path,"/")>1){
$count=str_repeat("  ",substr_count($file_path,"/"));
echo $count.getFile_html($rel_path,$file).getTime_html($mtime); }else{
echo getFile_html($file,$file).getTime_html($mtime);
}
echo "<br/>";
}
}
} function getTime_html($time){
return '<a style="font-size:10px;color:grey"> '.date('(Y-m-d H:m:s)',$time).'</a>';
} function getFile_html($rel_path,$file){
return '<a href="'.$rel_path.'">'.$file.'</a>';
} //----------------------------------------- $path=__DIR__;
getDirFile($path); ? >

效果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FybGluMzIx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

最新文章

  1. SQL Server 索引和表体系结构(非聚集索引)
  2. Python基础(三)
  3. Postgresql扩展及UUID
  4. objective-c(框架)
  5. 【iCore3 双核心板_FPGA】实验二十三:使用JTAG UART终端打印信息
  6. [嵌入式学习资料]ARM开发学习详解iTOP-4412开发板使用手册
  7. 关于Merge的整理--Merge的使用方法和注意事项的Demo
  8. oracle中存储过程的使用
  9. ios 绘制wav波形图
  10. 【转】DM8168添加DSP音频编解码算法--集成现有voice或audio codec
  11. 关于iOS中用AudioFile相关API解码或播放AAC_HE_V2时仅仅能识别单声首22.05k採样率的问题
  12. mysql按天,小时,半小时,N分钟,分钟进行数据分组统计
  13. apache----------在apache环境下安装https支持
  14. 常用css
  15. HTML5 汉字转化为拼音,带读声,穷举多音字
  16. const关键字的作用
  17. ASP 错误捕捉,处理
  18. 深入出不来nodejs源码-events模块
  19. JAVA RMI远程方法调用简单实例[转]
  20. 判断js对象是否拥有某一个属性的js代码

热门文章

  1. 路由重分发 最重要 最难 ccnp
  2. Centos6.5搭建git远程仓库
  3. 【JavaScript 7—基础知识点】:BOM
  4. IIS中如何应用程序启用https协议
  5. shell的while循环
  6. Mahout0.9安装与配置(完全分布式模式下运行)
  7. [AHOI2009]维护序列 (线段树)
  8. BZOJ3295 动态逆序对(树状数组套线段树)
  9. poj 3608 凸包间的最小距离
  10. 无记录时显示gridview表头,并增加一行显示“没有记录”【绑定SqlDataSource控件时】