thomas aus sachsen: neueste datei auslesen

hallo zusammen,
ich habe eine kleines skript geschrieben, welches aus eindem ordner die neueste datei auslesen soll. es sieht folgendermassen aus:
<?php
$lastmodified=0; // hier wird die letzte aenderung gespeichert
$date=0;
$folder=opendir('content'); // zu durchsuchender ordner
$pattern=".|.."; // soll herausgefiltertwerden
while($data=readdir($folder)){ // solange noch daten im ordner sind...
  if(!ereg($data,$pattern)){ // und nicht . oder .. sind
    $date=filemtime($data); // date ist letzte aenderung der akt.datei
    global $lastmodified;
    if($date>$lastmodified){
      $lastmodified=$date;
      $site=$data;
    }
  }
}
echo($site);
?>

das skript geht die dateien zwar durch, jedoch  reagiert es überhaupt nicht auf "filemtime()". dies wird anscheinend ausgelassen.
sieht vielleicht jemand was ich falsch mache? ich komme nämlcih wirklich nicht mehr weiter...

gruss thomas

  1. Hallo Thomas,

    du hast einen Dreher im ereg-Befehl

    es muss heißen:

    if(!ereg($pattern,$data))

    Bei dir ist immer diese If-Klausel immer false, somit wird auch nie nach einem Dateidatum gesucht...

    Max

    1. hallo maxda,

      danke für die antwort. ist mir nicht aufgefallen.
      hab das nun verbessert, allerdings hat es nichts geholfen.
      anscheinend wird die while-schleife nur einmal durchgelaufen.
      es wird mir immer nur die erste datei ausgegeben und danach wird abgebrochen.

      gruss, thomas

  2. Hallo Thomas,

    while($data=readdir($folder)){ // solange noch daten im ordner sind...
        $date=filemtime($data); // date ist letzte aenderung der akt.datei

    Stimmt nicht ganz. Du liest das Verzeichnis $folder aus und erhältst einen Datei_namen_ innerhalb von $folder. Um auf diese Datei zuzugreifen, musst Du aber den Ort der Datei und Deinen eigenen Ort (Du befindest Dich ein Verzeichnis weiter oben) berücksichtigen:

    $date = filemtime ($folder . '/' . $data);

    Dann sollte es klappen.

    Ach ja:

    http://de3.php.net/de/chdir
    http://de3.php.net/de/getcwd

    Viele Grüße,
    Christian

    --
    Hast Du einen Beitrag? Nur her damit!
    http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
    1. hallo christian,

      vielen dank für deine antwort.
      hat mir sehr geholfen. es lag genau an diesem fehler.
      schönes wochenende noch

      gruss, thomas