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;
}
}