filectime în PHP

Returnează momentul ultimei schimbări a informațiilor despre fișier (permisiuni, proprietar, nume), ca timestamp.

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

Ce face filectime

Pe Linux, „ctime” nu înseamnă data creării, ci momentul ultimei schimbări a informațiilor fișierului: conținut, permisiuni, proprietar, redenumire. Spre deosebire de data modificării, această valoare nu poate fi setată cu touch.

Pe Windows, filectime returnează data creării fișierului.

Parametri

Parametru Descriere
$filename Calea fișierului.

Ce returnează

Timestamp-ul sau false la eroare.

Exemple

Exemplul 1: touch schimbă mtime, dar nu și ctime

Am mutat data modificării în 2001. Data schimbării rămâne momentul rulării, adică după anul 2020.

<?php
touch("document.txt", 1000000000);

var_dump(date("Y", filemtime("document.txt")));
var_dump(filectime("document.txt") > mktime(0, 0, 0, 1, 1, 2020));

Rezultat

string(4) "2001"
bool(true)

Greșeli frecvente

  • Folosești filectime ca „data creării” pe Linux. Valoarea se schimbă la fiecare chmod sau redenumire. Linux nu oferă PHP-ului data creării prin această funcție.

Comenzi înrudite

  • filemtime: Returnează momentul ultimei modificări a unui fișier, ca timestamp.
  • fileatime: Returnează momentul ultimei accesări (citiri) a unui fișier, ca timestamp.
  • stat: Returnează toate informațiile despre un fișier: dimensiune, date, permisiuni, proprietar.