phpbar.de logo

Mailinglisten-Archive

[php] neueste Datei in Ordner und Unterordner finden

[php] neueste Datei in Ordner und Unterordner finden

Peter Kursawe php_(at)_phpcenter.de
Thu, 4 Jul 2002 19:56:02 +0200


Hallo Jens,

> wie finde ich denn das Datum DERJENIGEN Datei, die in einem Verzeichnis
> samt Unterverzeichnisse die neueste ist ???

indem Du Dir das Manual über das Dateisystem reinziehst. Dann weisst Du alles
über Dateien und Verzeichnisse.

Ich habe hier noch so ein Skript, das macht ungefähr das, was Du willst (wenn
ich es richtig verstanden habe ;-) Funktioniert
unter Windows und Linux. Kommentare spar ich mir ...

----- Start Code -----

function ndiv($dir,$indent,$jdatum) {
    global $datformat;
    $ldatum = $jdatum;
    $ldatei = '';
    echo $indent."d $dir:<br>\n";   # Testausgabe
    $handle=opendir($dir);
    while ($file = readdir($handle)) {
      if( $file != "." and $file != "..") {
         if (is_dir($dir . $file)) {
          list($fdatei, $fdatum) = ndiv("$dir$file/",
"$indent&nbsp;&nbsp;",$ldatum);
         } else {
          echo "$indent $file  ";  # Testausgabe
          $fdatei = "$dir$file";
          $fdatum = date("Y-m-d H:i:s",filemtime($fdatei));
          echo $fdatum."<br>";  # Testausgabe
         }
         if($fdatum>$ldatum) {
            $ldatum = $fdatum;
            $ldatei = $fdatei;
         }
        }
    }
    closedir($handle);
    return array($ldatei,$ldatum);
}

# Jetzt kommt der Aufruf: Das Startverzeichnis ist in $verz

    list($jdatei,$jdatum) = ndiv($verz, "", "0000-00-00");
    echo "<p><b>Ergebnis:</b> Datei: $jdatei vom $jdatum";

----- Ende Code -----

Statt filemtime kannst Du die Funktion nehmen, die Dir besser liegt.
Viel Glück damit - und wie immer: Keine Garantie!

Viele Grüße, peter Kursawe


php::bar PHP Wiki   -   Listenarchive