filectime listet bei allen Files gleichen Timestamp

Beim ausführen dieses Scripts wird mir bei der Ausgabe immer für alle Dateien der gleiche Timestamp ausgegeben, obwohl die Datei-Datumsangaben Tage auseinanderliegen.

<?

$pfad = 'C:\IP-Symcon	est';

$dir = opendir($pfad);
while (false != ($file = readdir($dir)))
{
    if ($file != "." && $file != "..") {
        	$changedat = filectime($pfad);
			$changedat = date("d.m.Y H:i:s", $changedat);

		if ($changedat == date("d.m.Y"))
        	{
		echo("<table style='border-style:solid; border-color:green;'>
				<tr style=background-color='red'><td width='40'><img src='WL_success.png'></td>
				<td width='300' bgcolor='green'>$file</td><td width='250' bgcolor='green'> zuletzt gesichert am: $changedat<br></td></tr>");
			}
		else
			{
		echo("<table style='border-style:solid; border-color:red;'>
				<tr style=background-color='red'><td width='40'><img src='WL_delete.png'></td>
				<td width='300' bgcolor='red'>$file</td><td width='250' bgcolor='red'> zuletzt gesichert am: $changedat<br></td></tr>");
			}
    }
}
clearstatcache();
?>

Hmmm,

liefert filectime evtl. das Dateierstellungsdatum zurück ?
sieht zumindest auf die Schnelle bei mir so aus - entgegen der Doku …

filectime = creationtime ?

LG Tom

Laut php.net

filectime — Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode

War schon klar :o

Aaaaber:

Auszug:
filectime - For Windows it will return the creation time, and for Unix the change time which is the best you can get because on Unix there is no creation time (in most filesystems).

Und genauso verhält es sich auch bei mir … auf die Schnelle :wink:

Versuche mal filemtime - das sieht besser aus.

LG Tom

Kaum sucht man etwas

Im darin verlinkten php-Teil unter Anmerkung der erste Hinweis :wink:

Gruß
Bruno

Versuche mal filemtime - das sieht besser aus

liefert ebenfalls ein falsches Ergebnis.

Seh ich das richtig ?
Du liest die Zeit vom Pfad und nicht der Datei?

Gesendet von meinem iPad mit Tapatalk HD

Readdir listet die Dateien im Pfad :wink:

http://www.php.net/manual/de/function.readdir.php
http://selfphp.de/funktionsreferenz/verzeichnis_funktionen/readdir.php Bsp. 2

allerdings fehlt wohl auch ein „closedir“, wenn ich richtig geraten habe.

Ich meinte den Befehl

filectime($pfad)
muesste doch eher heissen
filectime($file)

Gesendet von meinem iPad mit Tapatalk HD

Du liest die Zeit vom Pfad und nicht der Datei?

danke für den Hinweis.

Nach ändern von

$changedat = filectime($pfad);

zu

$changedat = filemtime("$pfad/".$file);

passts nun.