上传文件时保留上次修改日期

时间:2016-02-17 08:09:26

标签: php date post upload

通过HTTP POST上传文件有没有办法保留上次修改日期?

我已经读过,当您使用copy()时,它会被更改(请参阅here)。 但在我的情况下,它已在temp文件夹中更改。

HTML:

<!DOCTYPE html>
<html>
    <body>

        <form action="upload.php" method="post" enctype="multipart/form-data">
            Select file to upload:
            <input type="file" name="fileToUpload" id="fileToUpload">
            <input type="submit" value="Upload Image" name="submit">
        </form>

    </body>
</html>

PHP:

<?php

  $target_dir = "uploads/";
  $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
  $uploadOk = 1;
  $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

  echo "Modified: ".date('d/m/Y H:i:s', filemtime($_FILES['fileToUpload']["tmp_name"]));

?>

输出结果为:修改日期:17/02/2016 09:02:39

但该文件实际上是在2016年2月2日09:34:23编辑的。

属性:(创建,修改,访问)

file properties

有没有办法防止这种情况?

2 个答案:

答案 0 :(得分:0)

对不起,您无法保留文件信息。上载的文件被视为新文件。

答案 1 :(得分:0)

可以使用File.lastModified属性在浏览器中捕获上次修改日期。您可以使用JavaScript将隐藏的输入元素的值设置为此日期。提交表单后,请从隐藏的输入中读取时间戳,并使用方法touch在服务器端新创建的文件上设置时间戳。

enumeration mode

https://developer.mozilla.org/en-US/docs/Web/API/File/lastModified