Wenn man mit Dateien arbeitet, steht man oft vor dem Problem, wissen zu müssen, wie aktuell die Daten in den jeweiligen Dateien sind. Dabei kann es helfen, wenn man weiß, wann die Datei zum letzten Mal bearbeitet wurde. Hier kann die Funktion filemtime() helfen. Diese Funktion ermittelt Datum und Uhrzeit der letzten Änderung einer Datei.
Der Syntax:
filemtime(zeichenkette);
Beispiel:
<?php
/*
* Created on 27.01.2010 by Nico Schubert
*/
$dateinamen = 'test.txt';
$timestamp = filemtime($dateinamen);
echo 'Die Datei wurde zuletzt am '.date("d.m.Y
um H:i",$timestamp).' geändert.';
?>
Ausgabe:
Die Datei wurde zuletzt am 27.01.2010 um 21:16 geändert.
Erklärung:
Die Funktion filemtime() bekommt einen Dateinamen übergeben. Aus diesem Dateinamen wird ermittelt, an welchem Datum und zu welcher Uhrzeit die Datei zuletzt aktualisiert wurde. Diese Information wird als Unix-Zeitstempel gespeichert. Würde man diesen Zeitstempel ausgeben, erhielte man als Ausgabe eine neunstellige Zahl, die aussagt, wie viele Sekunden seit dem 01.01.1970 um 0:00 Uhr vergangen sind. Damit filemtime() eine Uhrzeit der letzten aktualisierung ermitteln kann, muss hierzu eine Datei mit den Namen "test.txt" im gleichen Verzeichnis sein, wie das Beispiel Script, da ansonsten eine Php Fehlermeldung ausgegeben wird.
Um den Unix-Zeitstempel lesbar zu machen, wird diese Information mit Hilfe der Funktion date() in das Format Tag - Monat - Jahr gebracht. Über die Anweisung echo() wird der Satz "Die Datei wurde zuletzt am [Datum] geändert. In der Bildschirmausgabe steht anstatt [Datum] das Datum und die Uhrzeit, an dem die Datei das letzte Mal geändert wurde. Wenn man nun in einer Anwendung eine Liste mit Dateien auf dem Bildschirm ausgibt, und die Ausgabe um Datum und Uhrzeit der letzten Änderung ergänzt, kann man leicht auf die Aktualität einer bestimmten Datei schließen.