2012-03-24 3 views
1

Ich werde ein Verzeichnis mit mehreren Unterverzeichnissen haben. Ich möchte in der Lage sein, das letzte, eine hochgeladene/modifizierte FLV aus jedem Verzeichnis zu holen und eine formatierte Liste erstellen zu können, die ausgegeben werden kann.Geting letzte Datei hochgeladen von einer Reihe von dir

Ich habe Glob und Foreach verwendet, um Listen von Ordnerelementen vor, aber nicht sicher, wie dies zu erreichen, und nur eine Datei aus einer Reihe von Unterverzeichnissen zurück.

Jede Hilfe wird geschätzt

Vielen Dank!

+0

Sie die DirectoryIterator durch Ihre Verzeichnisse zu durchlaufen können: http://php.net/manual/en/class.directoryiterator.php. Sie können dann jede Datei durchlaufen und DirectoryIterator :: getMTime() verwenden, um die modifizierte Zeit zu erhalten, einen Vergleich durchzuführen und dann den zuletzt geänderten auszuwählen. – F21

+0

würde mir das aus allen Unterverzeichnissen die letzte Änderung aus dem gesamten Verzeichnis oder zuletzt geändert? Ich versuche, die letzte modifizierte aus jedem Unterverzeichnis zu bekommen und eine Liste daraus zu erstellen. – DA69

+0

Mit dem Iterator sollten Sie in der Lage sein, die modifizierte Zeit entweder für ein Verzeichnis oder eine Datei zu erhalten, abhängig davon, worauf der Iterator zeigt. – F21

Antwort

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

ok versuche ich dieses Skript, ich habe einen Ordner mit diesem Skript und einen Ordner namens Listing. Inside Listing ist drei Ordner mit Dateien darin. würde der Pfad "/ listing" lauten, wenn er direkt neben dem Skript steht? im Moment zeigt es nichts ... Ideen? – DA69

+0

nm, ich habe es zur Arbeit .. super! Danke!! – DA69

0

Sie Sperren für filemtime

+0

Nun, ich kann sehen, wo das die Zeit geben würde, aber das sagt mir nicht, wie ich eine Liste von Dateien aus mehreren Unterverzeichnissen erstellen kann. – DA69

+0

Hier ist es: http://php.net/manual/en/class.recursedirectoryiterator.php – haltabush

Verwandte Themen