php - 上传文件时保留最后修改日期

标签 php date post upload

有没有办法在通过 HTTP POST 上传文件时保留最后修改日期?

我已经读到当您使用 copy() 时它会发生变化(参见 here)。 但就我而言,它已在临时文件夹中更改。

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

但文件实际上最后编辑于 10/02/2016 09:34:23

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

file properties

有什么办法可以避免吗?

最佳答案

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

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

https://www.php.net/touch

关于php - 上传文件时保留最后修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451077/

相关文章:

PHP文件下载失败

php - Magento 通过 phtml 文件中的 anchor 标记调用 cms 页面

php - 我如何以传统的 'time' 增量进行 ORDER BY,一个值字符串,ex : "10:00 AM", 来自不是 date() 格式的数据库条目?

c# - 为什么 .NET 将 UTC 日期更改为服务器时区?

PHP多步注册流程

php - 如何在 PHP 中打印出包含标签的原始字符串?

javascript - 当删除同级项时,使 flex 元素自动调整大小以填充空间

postgresql - 按日期范围对结果进行分组

php - 如何发布两个不均匀的数组,其中一组是复选框,另一组是文本输入框

ajax - 在 src 标记中显示图像,响应文本不是 base64