[PHP] Dateieigenschaften auslesen

anddie

Well-known member
ID: 171
L
3 Mai 2006
2.267
132
Hi,

ich versuche aus einem Verzeichnis alle Dateien auszulesen und will dann für jede Datei das Datum der letzten Änderung.

Mein Code sieht folgendermaßen aus
PHP:
  $path = opendir("/Pfad/zu/den/relevanten/Dateien/");

  while($file = readdir($path))
  {
    echo "<br><br>Datei: $file<br>\n";
    $zeit = filemtime($file);
    echo "Aenderung: $zeit";
    clearstatcache();
  }

für . und .. liefert mir filemtime auch was schönes zurück. Für alle anderen richtigen Dateien in diesem Verzeichnis leider gar nicht.
Im Errorlog steht auch nur
PHP Warning: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for Dateiname.csv in /home/meinephpdatei.php on line 26, referer: https://webseite.de/meinephpdatei.php

Jemand eine Idee, woran das liegen könnte?

anddie
 
Nur eine Vermutung: Haben die Dateien die nötigen Rechte?!
Wenn ich dafür execute brauche, dann nein. Und das krieg ich dort auch nicht, da die von einer Art Syslog erstellt werden.

[edit] Hab es aber mal mit einem anderen Verzeichnis und anderen Dateien (777) probiert und da tritt der gleiche Fehler auf.

[edit2] irgendwas scheint mit meinem Dateizeiger nicht zu stimmen.
Wenn ich bei filemtime direkt eine Datei angebe, dann liest er mir alles aus. Wie packe ich jetzt nur diesen Dateinamen in diesem seltsamen Array und den Pfad zusammen *grübeldenk*

anddie
 
Ich hab das Lokal mal getestet, und da kam kein Fehler. das Verzeichnis war ./ also das aktelle ;)

Bist du sicher, dass das Verzeichnis richtig angegeben is?
 
Bist du sicher, dass das Verzeichnis richtig angegeben is?
Mittlerweile ist es richtig und es funktioniert.
Mein Denkfehler war eigentlich nur, dass ich davon ausgegangen bin, dass ich mit readdir nicht nur den Dateinamen, sondern auch den Pfad dazu bekomme.

Hab das jetzt entsprechend angepasst und etwas "perverser" gestaltet und schon gehts.

anddie