PHP获取文件修改时间,访问时间,inode修改时间

209 阅读2分钟
<?php

$file = "logs.log";

var_dump(filectime($file)); // 1611038131
var_dump(fileatime($file)); // 1611038134
var_dump(filemtime($file)); // 1611038131

var_dump(fileinode($file)); // 18182
var_dump(filegroup($file)); // 1000
var_dump(fileowner($file)); // 1000
var_dump(fileperms($file)); // 33279

filectime

返回文件上次 inode 信息被修改的时间, 或者在失败时返回 false。 时间以 Unix 时间戳的方式返回。

在大多数 Unix 文件系统中,文件的 inode 信息包括权限,所有者,所有组或其它 inode 中的元数据。

某些 Unix 说明文本中把 ctime 说成是该文件建立的时间,这是错的。在大多数 Unix 文件系统中没有 Unix 文件的建立时间。

fileatime

返回文件上次被访问的时间, 或者在失败时返回 false。时间以 Unix 时间戳的方式返回。

注意:一个文件的 atime 应该在不论何时读取了此文件中的数据块时被更改。当一个应用程序定期访问大量文件或目录时很影响性能。

有些 Unix 文件系统可以在加载时关闭 atime 的更新以提高这类程序的性能。USENET 新闻组假脱机是一个常见的例子。在这种文件系统下本函数没有用处。

最好不使用此函数!!

filemtime

本函数返回文件中的数据块上次被写入的时间,也就是说,文件的内容上次被修改的时间。

使用 ls -l命令看到的就是文件的修改时间。

fileinode

返回文件的 inode 节点号。

filegroup

取得该文件所属组的 ID。组 ID 以数字格式返回,用 posix_getgrgid() 来将其解析为组名。

fileowner

返回文件所有者的用户 ID,如果出错则返回 false。用户 ID 以数字格式返回,用 posix_getpwuid() 来将其解析为用户名。

fileperms

取得文件的权限

注意

不同文件系统对时间的判断方法可能是不相同的。

这些函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。