Php - Linux / UNIX CTime (tempo di modifica inode) viene impostato quando viene modificato solo
Domanda
Secondo: http://www.php.net/manual/en / function.filectime.php
"Nella maggior parte dei filesystem UNIX, un file è considerato modificato quando i dati di inode vengono modificati; cioè, quando le autorizzazioni, il proprietario, il gruppo o altri metadati dall'INODO vengono aggiornati."
Tuttavia, esegue Debian Linux (Uname -R: 2.6.26-2-686) Quando accedo e scrivo a un file, affermare utilizzando PHP
$fh = fopen($file, 'a');
fwrite($fh, "hello world");
fclose($fh);
.
Sia il tempo modificato (Filemtime) e il tempo di modifica (filectime) verranno aggiornati.È la mia comprensione che Ctime viene modificato solo quando vengono modificate le preferenze del file (autorizzazioni, proprietà, nome) e non il contenuto stesso.
clearstatcache();
echo "$file was last changed: " . date("F d Y H:i:s.", filectime($file)). "<br>";
echo "$file was last modified: " . date("F d Y H:i:s.", filemtime($file)). "<br>";
echo "$file was last accessed: " . date("F d Y H:i:s.", fileatime($file)). "<br>";
. Soluzione
Nevermind, dopo aver letto http://www.kavoir.com/2009/04/linux-the-diferences-between-file-times-time-accessed-time-ctime-Phanged-time-and-mtime-time.html
Dichiara: "ctime - tempo di cambiamento o l'ultimo tempo modificato del file o della directory, ogni volta che si modifica e aggiorna il file come la modifica del file proprietà o le autorizzazioni o modifica del contenuto del file , il ctime del file viene aggiornato sull'ora corrente "
Altri suggerimenti
Quando si modifica i dati del file - si modifica Mtime, dal momento che mtime (tempo di modifica) è una parte dell'iniede, quindi quando viene modificato Mtime, viene modificato anche i metadati del file, quindi ctime (il tempo di modifica) viene modificato anche :) .