【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);?>立即学习“PHP免费学习笔记(深入)”;
效果:

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号