通过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编辑的。
属性:(创建,修改,访问)
有没有办法防止这种情况?
答案 0 :(得分:0)
对不起,您无法保留文件信息。上载的文件被视为新文件。
答案 1 :(得分:0)
可以使用File.lastModified属性在浏览器中捕获上次修改日期。您可以使用JavaScript将隐藏的输入元素的值设置为此日期。提交表单后,请从隐藏的输入中读取时间戳,并使用方法touch
在服务器端新创建的文件上设置时间戳。
https://developer.mozilla.org/en-US/docs/Web/API/File/lastModified