2012-03-24 83 views
1

我將有一個目錄與多個子目錄。 我希望能夠從每個目錄中獲取最後一個,上傳/修改的flv,並能夠創建可輸出的格式化列表。獲取最後一個文件上傳了多個目錄

我已經使用glob和foreach來創建文件夾項目列表之前,但不知道如何做到這一點,只是從一些子目錄中返回一個文件。

任何幫助將不勝感激

謝謝!

+0

可以使用DirectoryIterator通過你的目錄遍歷:http://php.net/manual/en/class.directoryiterator.php。然後,您可以遍歷每個文件並使用它上面的DirectoryIterator :: getMTim​​e()獲取修改時間,進行比較,然後選擇最近修改的時間。 – F21 2012-03-24 02:01:06

+0

會給我最後修改完整的目錄或最後修改每個子目錄?我試圖從每個子目錄中獲取最後一個修改,並創建一個列表。 – DA69 2012-03-24 02:14:28

+0

使用迭代器,您應該能夠獲取目錄或文件的修改時間,具體取決於迭代器指向的內容。 – F21 2012-03-24 02:15:45

回答

1
<?php 
$result = array(); 
foreach (new DirectoryIterator('/path/to/dir') as $item) { 
    if (!$item->isDot() && $item->isDir()) { 
     $result[$item->getFilename()] = $m = null; 
     foreach (new DirectoryIterator($item->getPathname()) as $subItem) { 
      if ($subItem->isFile() && $m < $subItem->getMTime()) { 
       $result[$item->getFilename()] = $subItem->getFilename(); 
       $m = $subItem->getMTime(); 
      } 
     } 
    } 
} 
+0

好吧我正在嘗試這個腳本,我有一個文件夾與這個腳本和一個名爲列表的文件夾。裏面的列表是三個文件夾中的文件。打電話上市會路徑'/列出',如果它的權利旁邊的腳本?目前它不顯示任何東西......想法? – DA69 2012-03-24 03:11:45

+0

nm,我得到它的工作..真棒!謝謝!! – DA69 2012-03-24 03:27:59

0

你鎖定爲filemtime

+0

以及我可以看到哪裏會給時間,但是這並不能告訴我如何我可以創建多個子目錄中的文件列表。 – DA69 2012-03-24 02:07:50

+0

它是這樣的:http://php.net/manual/en/class.recursivedirectoryiterator.php – haltabush 2012-03-24 02:13:13