【php】读取"文件列表"按时间倒序显示,并递归显示各层文件夹、!
思路:
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="">
【php】读取"文件列表"按时间倒序显示,并递归显示各层文件夹、!的更多相关文章
- atitit.提升备份文件复制速度(4) ---数据挖掘 获取回收站文件列表
atitit.) ---数据挖掘 获取回收站文件列表 1. 放入回收站的原理and 1 2. info2文件文件结构 1 3. 获得文件列表2个法: 正则表达式or解析 1 4. 路径正则表达式[a- ...
- layui的多文件列表上传功能前端代码
html页面的代码(注意:引入layui相关的css): <div class="layui-upload" style="margin-left: 130px&q ...
- Java学习-042-获取目录文件列表(当前,级联)
以下三个场景,在我们日常的测试开发中经常遇到: 软件自动化测试,在进行参数测试时,我们通常将所有相似功能的参数文件统一放在一个目录中,在自动化程序启动的时候,获取资源参数文件夹中所有参数文件,然后解析 ...
- Linux中如何查看文件的最初创建时间
查看 一个文件的 最初创建时间: Linux中如何查看文件的最初创建时间 linux 目前Linux没有直接查看创建文件的命令,你只能通过文件是否被修改过来进行判断. //查看代码stat ...
- Linux下文件的三个时间(Atime,Mtime,Ctime)
文件的三个时间 我们已经很熟悉windows系统了,那么我们在windows下新建一个文件,我们知道它在保存的时候肯定是会保存一下文件的创建时间之类的信息的,那么我们来看看windows下的一个文件保 ...
- Python编写在Maya中查看文件列表的插件
之前写过一篇用Python遍历文件夹的文章,今天把代码扩展一下,做成一个有UI用户界面的Maya插件,可以直接在Maya中运行: 功能是显示磁盘分区目录下的文件列表,通过定制也可以查看任意目录下的文件 ...
- ls按时间排序输出文件列表
文件转自:http://www.2cto.com/os/201303/197829.html ls按时间排序输出文件列表 首先,ls --help查看ls相关的与时间排序相关的参数: > ...
- iOS案例:读取指定目录下的文件列表
// // main.m // 读取指定目录下的文件列表 // // Created by Apple on 15/11/24. // Copyright © 2015年 Apple. All rig ...
- node.js读取到的文件列表
var fs = require('fs'); var path = require('path'); //解析需要遍历的文件夹,我这以E盘根目录为例 var filePath = path.reso ...
随机推荐
- Absolute(绝对定位)与relative(相对定位)的图文讲解
Position的属性值有:1. Absolute:绝对定位,是相对于最近的且不是static定位的父元素来定位 2. Fixed:绝对定位,是相对于浏览器窗口来定位的,是固定的,不会 ...
- xtu数据结构 C. Ultra-QuickSort
C. Ultra-QuickSort Time Limit: 7000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java ...
- 【C#】重写和重载的区别
导读:学习C#的时候,其实没想那么多的.就想着把视频看完,把例子做一下就好了,其实真心不懂那些玩意儿是什么,就好像是又回到了学VB的时候.可是,边上师哥压榨我这本就不聪明的脑袋瓜,问了我好多问题,于是 ...
- 九度oj 题目1137:浮点数加法
题目描述: 求2个浮点数相加的和 题目中输入输出中出现浮点数都有如下的形式:P1P2...Pi.Q1Q2...Qj对于整数部分,P1P2...Pi是一个非负整数 对于小数部分,Qj不等于0 输入: 对 ...
- Android刷新页面
代码改变世界 Android刷新页面 继承 extends Activity /*** 调用onCreate(), 目的是刷新数据, 从另一activity界面返回到该activity界面时, 此方 ...
- BZOJ 3569 DZY Loves Chinese II ——线性基
[题目分析] 腊鸡题目卡题面. 大概的意思就是给一张无向图,每次删掉其中一些边,问是否联通. 首先想到的是Bitset,可以做到n^2/64.显然过不了. 然而这是lyd在给我们讲线性基的时候的一道题 ...
- cf670E Correct Bracket Sequence Editor
Recently Polycarp started to develop a text editor that works only with correct bracket sequences (a ...
- spring data jpa 查询部分字段列名无效问题
spring data jpa原生sql查询问题,我只要表其中的几个字段的值,本以为写个原生sql,拿实体类对象去接没问题 结果列名无效,测试了一下,把返回值类型改成List<Object> ...
- 老系统优化同步导入10w+Excel数据 秒级
背景:老系统asp.net 2.0项目使用客户反应,某个业务每个月导入数据操作很慢,大致需要15-30分钟才会导入完毕: 分析:导入慢的原因: .数据量过大,且采用的是同步,单个excel shee ...
- 使用uilabel重新自调整高度后显示横线和竖线问题
这个使用uilabel自调节高度发现的问题,代码如下: //content label NSString *contentValue = ((Messag ...