uepselon: Probleme mit fileatime() Funktion

Hallo,

ich hab ein Problem beim ermitteln des letzten Zugriffsdatums einer Datei.

Wenn ich folgenden Code verwende kommt als Ergebnis die Ausgabe darunter:

<?php
$handle=opendir ('./sessions/');

while (false !== ($file = readdir ($handle)))
      {
      clearstatcache();
      $lasttime = fileatime("$file");
      $timenow = time(void);
      echo "<b>$file</b> -> $lasttime -> $timenow <br>";
      }

closedir($handle);
?>

Ausgabe:

. -> 1023832800 -> 1023875661
.. -> 1023832800 -> 1023875661
id99dd6aff2fc6bebec02ea145eba85776.dat -> -> 1023875661
id6d65449d68cfa36bfe554a7b31109ea9.dat -> -> 1023875661

Bei . und .. erkennt er das Datum der letzten Änderung, bei
den vom Script erzeugten id Dateien jedoch nicht.

Warum das denn?

Gruß

ueps

  1. Hi,

    Bei . und .. erkennt er das Datum der letzten Änderung, bei
    den vom Script erzeugten id Dateien jedoch nicht.

    "." und ".." existieren fast überall. Wenn diese Filesystem-Einträge gefunden werden, weißt Du also nicht im mindesten, wo danach gesucht wurde - ihre Existenz ist kein Indiz dafür, dass es auch die sind, für die Du sie hälst.

    Prüfe also zunächst, ob die Datei existiert. Falls nicht, korrigiere die Art, wie Du sie ansprichst, da sie augenscheinlich falsch ist.

    Cheatah

    1. "." und ".." existieren fast überall. Wenn diese Filesystem-Einträge gefunden werden, weißt Du also nicht im mindesten, wo danach gesucht wurde - ihre Existenz ist kein Indiz dafür, dass es auch die sind, für die Du sie hälst.

      Prüfe also zunächst, ob die Datei existiert. Falls nicht, korrigiere die Art, wie Du sie ansprichst, da sie augenscheinlich falsch ist.

      Recht hast du, ich hab zwar die richtigen Dateinamnen aus dem session
      Verzeichnis, nur bei fileatime() hab ich nur den Dateinamen genommen, und das Verzeichnis weggelassen, so hat er im home Verzeichnis nach den Files ausschau gehalten und natürlich nix gefunden.

      Gruß

      ueps