在 php 手册中,fileatime 被定义为“文件的上次访问时间”。但是在我的代码中,我打开并读取了文件内容。但是 fileatime 给了我一个可以追溯到 2 月 16 日的日期。这意味着我上次访问该文件2 月 16 日 ??。但我现在访问了该文件。为什么它没有给我当前日期??
set_include_path('c://Users/shimantta/Desktop/');
$file='hehe.txt';
$open=fopen($file,'r');
echo fread($open,filesize($file)).'</br>';
echo "Last modified: ".date("F d Y H:i:s.",filemtime($file)).'</br>';
echo "Last modified: ".date("F d Y H:i:s.",fileatime($file)).'</br>';
echo "Last modified: ".date("F d Y H:i:s.",filemtime($file));
i am going to be copied here
Last modified: February 21 2015 19:57:21.
Last modified: February 16 2015 05:56:16.
Last modified: February 21 2015 19:57:21.
最佳答案
文件访问时间应该是最后一次访问文件。
问题是,在今天的许多系统上,访问时间都没有维护。例如,在安装(例如 fstab)时,可以声明访问时间根本没有更新。
在许多系统上,此功能被禁用,因为 SSD 会磨损得更快,这时通常会进行小的更改,例如更改文件的访问时间。我猜,您得到的访问时间就是创建时间,因为在创建时时间被写入一次并且永远不会更新。
因此,您只有修改时间和创建时间(也应该作为单独的时间戳提供)可用于一个文件。
关于php - php中fileatime和filectime的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28649996/