我用一个弹出窗口去得到一个文件的最后修改时间:
filectime($file)。
--------------------
我改完这个文件后,立刻去弹出这个窗口,
很奇怪,有时候这个时间不是我刚才改文件的时间,
而经常是上一次修改的时间,
我连续弹这个窗口几次后,这个时间才能正确,
请问这是为什么呢?
谢谢大家
---------------------

解决方案 »

  1.   

    好像php在接受文件时间的时候有一个延迟,
    要过一段时间才能看到我最新修改的时间
      

  2.   


    filectime(PHP 4, PHP 5)filectime — 取得文件的 inode 修改时间说明int filectime ( string $filename )
    返回文件上次 inode 被修改的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。注意:在大多数 Unix 文件系统中,当一个文件的 inode 数据被改变时则该文件被认为是修改了。也就是说,当文件的权限,所有者,所有组或其它 inode 中的元数据被更新时。参见 filemtime()(这才是你想用于在 Web 页面中建立“最后更新时间”脚注的函数)和 fileatime()。注意某些 Unix 说明文本中把 ctime 说成是该文件建立的时间,这是错的。在大多数 Unix 文件系统中没有 Unix 文件的建立时间。Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。Tip
    自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 Supported Protocols and Wrappers以获得支持 stat() 系列函数功能的包装器列表。Example #1 一个 fileatime() 的例子
    <?php// 输出类似:somefile.txt was last changed: December 29 2002 22:16:23.$filename = 'somefile.txt';
    if (file_exists($filename)) {
        echo "$filename was last changed: " . date("F d Y H:i:s.", filectime($filename));
    }?>
    参见 filemtime()。
      

  3.   


    filemtime(PHP 4, PHP 5)filemtime — 取得文件修改时间说明int filemtime ( string $filename )
    返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。Tip
    自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 Supported Protocols and Wrappers以获得支持 stat() 系列函数功能的包装器列表。本函数返回文件中的数据块上次被写入的时间,也就是说,文件的内容上次被修改的时间。Example #1 filemtime() 例子
    <?php
    // outputs e.g.  somefile.txt was last modified: December 29 2002 22:16:23.
    $filename = 'somefile.txt';
    if (file_exists($filename)) {
        echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));}
    ?>
    参见 filectime(),stat(),touch() 和 getlastmod()。不知道inode是啥。
    也不知道到底是哪个可以,