上一篇文章说了一下关于php中获取当前代码所在文件的最后修改时间的方法,而今天就有小伙伴来问,php是否可以获取指定文件的修改时间以及访问的时间呢?关于这个问题,飞鸟慕鱼就来说一说。

php获取文件最后一次被访问的时间

fileatime():函数返回指定文件的上次访问时间。

语法:

fileatime(filename)

参数:filename,要检查的文件

例:

<?php
$time = fileatime('b.php');
echo $time;
echo '<br/>';
echo date('Y-m-d H:i:s',$time);
?>

输出结果:

1573135713
2019-11-07 22:08:33

说明:

1、fileatime():函数成功返回的unix形式的时间戳,失败返回 false

2、文件的访问时间,是指文件的数据块被读取时都被会修改,部份unix系统可能会关闭此功能。

3、fileatime() 函数的结果会被缓存,需要 clearstatcache() 函数来清理

php获取文件上一次的修改时间

filemtime():函数返回文件内容上次的修改时间。

语法:

filemtime(filename)

参数:filename ,必需,指定要检测的文件

例:

<?php
$time = filemtime('b.php');
echo $time;
echo '<br/>';
echo date('Y-d-m H:i:s',$time);
?>

输出结果:

1574002854
2019-17-11 23:00:54

说明:

1、filemtime(),同样返回的时间戳,可以用date() 函数格式化,出错返回 false

2、修改时间是指:文件中有数据被写入或修改时的时间

3、此函数的结果同样会被缓存,需要用 clearstatcache() 函数来清理

php获取文件上次被索引的时间

filectime():函数返回指定文件的上次 inode(索引)的修改时间。

语法:

fileatime(filename)

参数:filename,要检测的文件

例:

<?php
$time = filectime('b.php');
echo $time;
echo '<br/>';
echo date('Y-d-m H:i:s',$time);
?>

输出结果:

1573135713
2019-07-11 22:08:33

说明:

1、filectime(),结果会被缓存,需要  clearstatcache() 函数来清理

2、filectime(),返回的值为时间戳,失败返回 false

3、关于inode(索引)的理解,可参考本博客的相关文章