PHP - Linux / Unix Ctime (время изменения inode) устанавливается, когда он модифицируется только

StackOverflow https://stackoverflow.com/questions/3331909

  •  29-09-2020
  •  | 
  •  

Вопрос

Согласно: http://www.php.net/manual/ru / function.filectime.php

"В большинстве файловых систем Unix файл считается изменен при изменении данных INODE; то есть при обновлении разрешений, владельца, группы или других метаданных от inode."

Тем не менее, работает Debian Linux (uname -r: 2.6.26-2-686) Когда я получаю доступ и запись в файл, скажи, используя PHP

$fh = fopen($file, 'a');
fwrite($fh, "hello world"); 
fclose($fh);
.

Оба модифицированного времени (filemtime) и время изменения (filectime) будут обновляться.Это мое понимание, что Ctime изменится только тогда, когда настройки файла изменяются (разрешения, владение, имя), а не сам контент.

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>";
.

Это было полезно?

Решение

Неведно, после прочтения http://www.kavoir.com/2009/04/linux-deifferences-betweewen-file-times-atime--объявленное-времени-времени-и-mimementified-time.html

Это утверждает: «Ctime - изменение времени или последнее измененное время файла или каталога, всякий раз, когда вы измените и обновляете файл, такой как изменение владения файлами или разрешения или Изменение содержимого файла , Ctime файла обновляется до текущего времени "

Другие советы

При изменении файловых данных - вы меняете mime, поскольку mime (время модификации) - это часть inode, поэтому, когда mime изменяется, файловые метаданные тоже изменяются, значит также:) .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top