letzte Aktualisierung einer Datei anzeigen

klausi89

Erfahrenes Mitglied
Hallo, ich rufe per Cronjob (jede halbe Stunde) ein script auf welches eine Api ausliest und in einer json.php anzeigt. (nicht speichert)
Nun möchte ich gerne auf meiner Seite die letzte zeit des auslesens/aufrufs anzeigen.

habe nun folgendes probiert

PHP:
$filename = 'example/json.php';
if (file_exists($filename)) {
     $last = date("d.m.Y - H:i", fileatime($filename));
    
}

dieses liefert mir zwar per echo einen Zeitwert aber nur wenn ich die json.php Datei neu hochlade
und aktualisiere. Dann stimmt die zeit

wenn ich aber die Datei einfach aktualisiere (ohne neu hochzuladen) dann ändert sich nichts.

Hat vielleicht jemand eine Idee warum das so ist bzw. was ich da falsch gemacht habe ?
 
Hallo,
vielleicht hilft dir das weiter:
PHP:
<?php
$filename = 'test.txt';
if (file_exists($filename)) {
    echo $filename." wurde zuletzt modifiziert: " . date ("d.m.Y - H:i", filemtime($filename));
}
?>
einfach fileatime in filemtime ändern, filemtime liefert dir die letzte Dateiänderung zurück.

Gruss
 
Zuletzt bearbeitet:
danke aber das hatte ich auch schon probiert, das funktioniert leider auch nicht er zeigt mir die Zeit an wann ich die Datei das letzte mal hochgeladen habe aber nicht wann das script das letzte mal ausgeführt wurde. :-( hab leider keine Idee mehr
 
So wie ich das verstanden habe, möchtest du die Zeit auslesen, wann das Script zuletzt ausgeführt wurde, richtig?
Da bin ich selbst überfragt, ob dies überhaupt möglich ist.
filemtime Zeigt dir an, wann die Datei z.B. hochgeladen bzw. verändert wurde.
Aber das anzeigen, wann das Script zuletzt ausgeführt wurde, weiss ich leider nicht, ob dies möglich ist.

Vielleicht könntest du ja in deinem Script eine Funktion schreiben, diese eine Temporäre Datei auf deinem Server ablegt und diese dann mittels filemtime ausließt.

Gruss
 
Ok das wäre ne Idee und hättest du da vielleicht einen Ansatz für mich - das vielleicht ne Datei angelegt wird und diese jedesmal überschreibt (damit halt nicht sonst wie viele Dateien entstehen)
 
PHP:
<?php
$datei = fopen("test.txt","w");
fwrite($datei, "Dein Text");
rewind($datei);
fclose($datei);
?>
Da das Schreiben in eine Datei genügt, würde ich den Modus "w" nehmen.

Auf dieser Seite findest du eine Liste der möglichen Modi von fopen()
http://php.net/manual/de/function.fopen.php

Edit: Der Ordner, indem die Datei erstellt werden soll, muss natürlich auch die Schreibrechte haben.

Gruss
 
Zuletzt bearbeitet:
Zurück