2013-03-13 50 views
0

在此先感謝您的幫助...找到特定文件的最新版本(按文件名)特定的文件夾中

本來,我有一個文件夾(命名爲「報告」),其中的XML版本我我的應用程序的最新時間表生活。這個xml文件的命名約定是「schedule-'currentdate' - 'currenttime'.xml(例如:」schedule-20130313-070004.xml「)我沒有問題使用scandir來定位這個文件並按降序對文件夾內容進行排序然後採取第一個

我現在的問題是,另一種類型的報告已被添加到文件夾(例如:「roster-20130313-07004.xml」)我以前的方法不再有效。信息在兩個不同的地方(計劃頁面上的schedule.xml和名冊頁面上的roster.xml)如何搜索此文件夾,根據日期查找最新文件,並確保每個報告都結束於哪裏它應該是?

+0

所以你需要找到最新版本的名冊和時間表?或者只是最新的? – djjjuk 2013-03-13 15:20:51

+0

我需要找到花名冊的最新版本,這樣在名單頁面上最準確和最新的輸出將是正確的(同樣按計劃進行),但是一旦我已經想出瞭如何做到這一點,我可以將它應用到其他。 – Harlow 2013-03-13 15:24:38

回答

1

一些簡單的如

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

//sort arrays 

應該工作得很好。這將取出目錄結果的原始數組,並將它們放入兩個新數組中,具體取決於是否包含字符串'report'。

+0

然後按照我一直在做的(降序)來排序數組? – Harlow 2013-03-13 16:06:03

+0

如果這給你最新的文件,那麼是的。它基本上將它們分開,就好像它們是兩個單獨的目錄一樣,並允許您使用以前的方法來查找最新的文檔。 – Sturm 2013-03-13 16:07:19

+0

該方法正在做的是將值推入適當的數組,而不是數組([0] =>報告,[1] =>調度),你將有數組([0] =>報告)和數組([ 0] => schedule)。 – Sturm 2013-03-13 16:08:25

相關問題