filemtime în PHP

Returnează momentul ultimei modificări a unui fișier, ca timestamp.

Sintaxă
filemtime(string $filename): int|false

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 cu date.

Comenzi înrudite

  • touch: Creează un fișier gol sau îi actualizează data ultimei modificări.
  • date: Afișează data și ora într-un anumit format.
  • filesize: Returnează dimensiunea unui fișier, în octeți.
  • time: Returnează momentul curent ca număr de secunde de la 1 ianuarie 1970 (timestamp Unix).