Filesystem 函数
在线手册:中文 英文
PHP手册

fileatime

(PHP 4, PHP 5)

fileatime取得文件的上次访问时间

说明

int fileatime ( string $filename )

返回文件上次被访问的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。

注意:一个文件的 atime 应该在不论何时读取了此文件中的数据块时被更改。当一个应用程序定期访问大量文件或目录时很影响性能。有些 Unix 文件系统可以在加载时关闭 atime 的更新以提高这类程序的性能。USENET 新闻组假脱机是一个常见的例子。在这种文件系统下本函数没有用处。

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

Tip

自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 Supported Protocols and Wrappers以获得支持 stat() 系列函数功能的包装器列表。

Example #1 fileatime() 例子

<?php

// 输出类似:somefile.txt was last accessed: December 29 2002 22:16:23.

$filename 'somefile.txt';
if (
file_exists($filename)) {
    echo 
"$filename was last accessed: " date("F d Y H:i:s."fileatime($filename));
}

?>

参见 filemtime()fileinode()date()

参数

filename

Path to the file.

返回值

Returns the time the file was last accessed, 或者在失败时返回 FALSE. The time is returned as a Unix timestamp.

范例

Example #2 fileatime() example

<?php

// outputs e.g.  somefile.txt was last accessed: December 29 2002 22:16:23.

$filename 'somefile.txt';
if (
file_exists($filename)) {
    echo 
"$filename was last accessed: " date("F d Y H:i:s."fileatime($filename));
}

?>

错误/异常

失败时抛出E_WARNING警告.

注释

Note:

The atime of a file is supposed to change whenever the data blocks of a file are being read. This can be costly performance-wise when an application regularly accesses a very large number of files or directories.

Some Unix filesystems can be mounted with atime updates disabled to increase the performance of such applications; USENET news spools are a common example. On such filesystems this function will be useless.

Note:

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

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

Tip

自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 Supported Protocols and Wrappers以获得支持 stat() 系列函数功能的包装器列表。

参见


Filesystem 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: 取得文件的上次访问时间

用户评论:

Tyler at visualbits dot net (16-Dec-2008 07:42)

This only applys to the FAT filesystem, ntfs and greater have file access time support.

Be careful with this function it can degrade script performance if checking several files.

Maulwurf (10-Oct-2004 05:12)

Using this function on Win98 made me grow grey hair.
Win 98 doesn't save the time for the last access. It only saves the date. This way, the returned timestamp from fileatime(file) is always much too small.

this command will always return false:

if($now - $last_access >1800) {
do something
}

using filemtime() instead did the thing.