有没有办法在通过 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.lastModified 属性在浏览器中捕获上次修改日期。您可以使用 JavaScript 将隐藏输入元素的值设置为此日期。提交表单后,从隐藏的输入中读取时间戳,并使用方法 touch
在服务器端新创建的文件上设置时间戳。
https://developer.mozilla.org/en-US/docs/Web/API/File/lastModified
关于php - 上传文件时保留最后修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451077/