PHP复制文件而不更改上次修改日期

时间:2011-02-04 13:33:30

标签: php file date copy

根据PHP手册中关于Copy()的评论:http://php.net/manual/en/function.copy.php

copy()将更改目标文件的上次修改日期。

是否可以在不更新上次修改日期的情况下复制文件?

4 个答案:

答案 0 :(得分:13)

function copydt($pathSource, $pathDest) {   // copy(), same modification-time
    copy($pathSource, $pathDest) or return FALSE;
    $dt = filemtime($pathSource);
    if ($dt === FALSE) return FALSE;
    return touch($pathDest, $dt);
}

答案 1 :(得分:11)

  

是否可以在不更新上次修改日期的情况下复制文件?

可能不是,但您可以使用touch()将时间修改回所需的值。

答案 2 :(得分:3)

您可以使用filemtime()获取上次修改日期,然后触摸()以修改上次修改日期/时间

答案 3 :(得分:2)

来自PHP文档注释'copy'的建议建议使用exec()命令调用'xcopy'来执行复制。这对我有用,但我更喜欢复制/触摸解决方案。我已经比较了几次,所以没有增加性能滞后。我没有尝试过,但我认为'cp'可用于* nix。