PHP读取文件夹目录,按时间排序,大小排序,名字排序

工作中有时候会遇到文件存储数据,但是在前台显示的时候又因为没有数据库,无法使用上传或最后一次修改日期字段排序,所以有了如下代码:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$dir = "./";//目录
 
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $i = 0;
        while (($file = readdir($dh)) !== false) {
            if ($file != "." && $file != "..") {
                $files[$i]["name"] = $file;//获取文件名称
                $files[$i]["size"] = round((filesize($file)/1024),2);//获取文件大小
                $files[$i]["time"] = date("Y-m-d H:i:s",filemtime($file));//获取文件最近修改日期
                $i++;
            }
        }
    }
    closedir($dh);
    foreach($files as $k=>$v){
        $size[$k] = $v['size'];
        $time[$k] = $v['time'];
        $name[$k] = $v['name'];
    }
    array_multisort($time,SORT_DESC,SORT_STRING, $files);//按时间排序
    //array_multisort($name,SORT_DESC,SORT_STRING, $files);//按名字排序
    //array_multisort($size,SORT_DESC,SORT_NUMERIC, $files);//按大小排序
    print_r($files);
}
?>

  

 

转至 http://www.175101.com/post-31.html

posted @   coolid  阅读(6782)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示