0

在用 PHP 构建文件浏览器类应用程序时,我遇到了一个相当奇怪的问题。出于这个应用程序的目的,filemtime()对我来说更有用,因为我需要最后一次修改文件内容的日期。不幸的是,filemtime()see 返回的日期大错特错,总是低于filectime(),大多数时候差了将近一年。

虽然我可以设想这可能的场景(如果文件最近被 chowned,但很久以前就被修改了)。但是,情况并非如此,因为所有文件都在一个半月前被复制到机器上。

代码很简单

$mtime = date ("F d Y H:i:s.", filemtime(BASE_DIR.$target));
4

1 回答 1

1

AFAIK,这很正常。复制文件时,操作系统有时会将创建时间设置为复制时间,同时保留文件原始的“最后修改”日期。

我不能说哪些操作系统和文件系统组合支持这一点,而且我一目了然也找不到任何来源,但这绝对是我在 Windows、OS Xes 和 *nixes 上看到的情况。

于 2013-01-20T15:18:01.230 回答