Ce face filemtime
filemtime spune când a fost modificat ultima dată conținutul fișierului. Rezultatul este un timestamp, pe care îl formatezi cu date.
Utilizări uzuale: cache care expiră după un timp, afișarea datei unui document și adăugarea versiunii la fișierele CSS și JS, ca browserul să le reîncarce după fiecare modificare.
Parametri
| Parametru | Descriere |
|---|---|
$filename |
Calea fișierului. |
Ce returnează
Timestamp-ul ultimei modificări sau false la eroare.
Exemple
Exemplul 1: Data ultimei modificări
<?php
date_default_timezone_set("Europe/Bucharest");
touch("regulament.pdf", mktime(14, 5, 0, 3, 1, 2026));
echo "Actualizat la: " . date("d.m.Y H:i", filemtime("regulament.pdf"));
Rezultat
Actualizat la: 01.03.2026 14:05
Exemplul 2: Versiune automată pentru CSS
Numărul din adresă se schimbă la fiecare modificare a fișierului, așa că browserul descarcă varianta nouă.
<?php
touch("stil.css", 1792396800);
echo '<link rel="stylesheet" href="stil.css?v=' . filemtime("stil.css") . '">';
Rezultat
<link rel="stylesheet" href="stil.css?v=1792396800">
Exemplul 3: Cache care expiră după o oră
<?php
$cache = "curs-valutar.json";
touch($cache, time() - 7200);
if (time() - filemtime($cache) > 3600) {
echo "Cache expirat, descarc din nou cursul";
} else {
echo "Folosesc cache-ul";
}
Rezultat
Cache expirat, descarc din nou cursul
Greșeli frecvente
- Afișezi direct rezultatul și vezi un număr mare, de exemplu
1792396800. Este un timestamp: formatează-l cudate.