fileatime

funkcja

Zwraca czas ostatniego dostępu do pliku jako uniksowy znacznik czasu lub false przy błędzie.

fileatime(string $filename): int|false

fileatime zwraca uniksowy znacznik czasu ostatniego odczytu (ang. access time, atime) pliku. Może być używany do wykrywania nieużywanych plików lub monitorowania aktywności.

Uwaga praktyczna: wiele nowoczesnych systemów operacyjnych i systemów plików wyłącza aktualizację atime ze względów wydajnościowych (opcja noatime). W takim środowisku fileatime może zwracać wartość tożsamą z filemtime lub stałą datę montowania. Weryfikuj zachowanie na docelowym systemie.

Wyniki są buforowane przez PHP — wywołaj clearstatcache, jeśli plik był modyfikowany w trakcie działania skryptu.

Bezpieczeństwo: nie przekazuj danych od użytkownika bezpośrednio jako $filename — grozi to atakiem path traversal. Zawsze waliduj i normalizuj ścieżkę przed użyciem.

<?php
declare(strict_types=1);

$sciezka = __DIR__ . '/archiwum.zip';

$znacznik = fileatime($sciezka);

if ($znacznik === false) {
    echo 'Nie można odczytać czasu dostępu.' . PHP_EOL;
} else {
    $dni = (int) ((time() - $znacznik) / 86400);
    echo 'Ostatni dostęp: ' . date('Y-m-d', $znacznik) . PHP_EOL;
    echo "Liczba dni bez dostępu: $dni" . PHP_EOL;

    if ($dni > 365) {
        echo 'Plik może być kandydatem do archiwizacji.' . PHP_EOL;
    }
}