找到特定文件夹中特定文件的最新版本(按文件名)

时间:2013-03-13 15:18:36

标签: php

先谢谢你的帮助......

最初,我有一个文件夹(名为“reports”),其中我的应用程序的最新日程安排的xml版本。此xml文件的命名约定是“schedule-'currentdate' - 'currenttime'.xml(例如:”schedule-20130313-070004.xml“)我使用scandir查找此文件并按降序排序文件夹内容没有问题然后拿第一个。

我现在的问题是该文件夹中添加了另一种类型的报告(例如:“roster-20130313-07004.xml”)我以前的方法不再有效。我在两个不同的地方输出这些信息(日程表页面上的schedule.xml和名单页面上的roster.xml)如何搜索此文件夹,根据日期查找最新文件,并确保每份报告最终到达应有的位置?

1 个答案:

答案 0 :(得分:1)

简单的事情,例如

$files = scandir($dir);
$report = [];
$schedu = [];
foreach ( $files as $file ) {
    if ( strpos( $file, 'report') !== false ) {
        $report << $file;
    } else {
        $schedu << $file;
    }
}

//sort arrays

应该工作得很好。这将采用原始目录结果数组并将它们放入两个新数组中,具体取决于是否包含字符串'report'。