【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 ...
随机推荐
- install composer on ubuntu14.04
1.download composer $ sudo apt-get install curl $ curl -sS https://getcomposer.org/installer | php $ ...
- soa服务治理
SOA服务治理 文章:SOA 治理简介 文章:中小型互联网公司微服务实践-经验和教训
- hdu 1536 sg (dfs实现)
S-Nim Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 九度oj 1547
题目描述: 给定一个初始为空的栈,和n个操作组成的操作序列,每个操作只可能是出栈或者入栈. 要求在操作序列的执行过程中不会出现非法的操作,即不会在空栈时执行出栈操作,同时保证当操作序列完成后,栈恰好为 ...
- ansible部署
ansible的特性:基于Python语言实现,由paramiko,PyYAML和jinjia2三个关键模块 部署简单,agentless 默认使用ssh协议 (1) 基于秘钥认证方式 ...
- iOS视频录制,裁剪(输出指定大小)
弄了几天,终于搞懂一点了,博客后面再写,先附上demo,等研究清楚再写 demo地址:http://pan.baidu.com/s/1o6w2CMu
- 【Luogu】P1330封锁阳光大学(bfs染色)
题目链接 这题恶心死我了. bfs染色,统计每个联通块两色的个数,ans加它们的最小值. #include<cstdio> #include<cctype> #include& ...
- 凌乱的桌子和与 Web 的设计理念说明
Python是一门脚本语言,因为能将其他各种编程语言写的模块粘接在一起,也被称作胶水语言.强大的包容性.强悍的功能和应用的广泛性使其受到越来越多的关注,想起一句老话:你若盛开,蝴蝶自来. 如果你感觉学 ...
- 【双向bfs】2017多校训练十 HDU 6171 Admiral
[题意] 现在给出一个三角矩阵,如果0编号的在点(x,y)的话,可以和(x+1,y),(x-1,y),(x+1,y+1),(x-1,y-1)这些点进行交换. 我们每一次只能对0点和其他点进行交换.问最 ...
- angular中的this指向问题
this是指向当前$scope的. 例如在ng-click的使用中,this是指向当前的$scope而并不是dom元素的. 我们可以使用this的一些方法和属性 我们打印一下this就会发现,this ...