gpt4 book ai didi

php - 如何在用户中止并返回时恢复文件上传

转载 作者:可可西里 更新时间:2023-11-01 16:26:42 27 4
gpt4 key购买 nike

我想知道一些关于 PHP 文件上传的事情,以及如何最好地处理这种技术的某些方面。我根据 W3Schools 示例制作了一个小脚本,以更好地说明这个问题的目的。

如果用户在上传文件时关闭浏览器怎么办?

好吧,如果我错了请纠正我,但我认为该文件仍将位于您的/tmp/目录中,并且在清理/tmp/目录之前不会被删除。

如果我想恢复上传,该怎么办?

这是我无法回答的问题。这就是为什么我在这里发布我的问题。简而言之:当用户关闭浏览器或离开页面后返回时,我如何恢复用户的上传?

我的表单

 <form enctype="multipart/form-data" action="upload.php" method="POST">
Please choose a file: <input name="uploaded" type="file" /><br />
<input type="submit" value="Upload" />
</form>

我的PHP

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']);
if (!move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) {
die ("There was a problem while uploading your file");
}
header("Location: index.php");
exit;
}

实际问题

用户执行以下步骤:

  • 用户选择一个文件
  • 用户上传表单
  • 用户关闭浏览器

现在我希望发生以下情况:

  • 用户返回
  • 用户选择相同的文件
  • 用户提交表单
  • 从上次停止的点继续上传

我想知道这是否可能以及我如何实现。

最佳答案

另一个好方法是使用 tus protocolvimeo has also adopted it最近。 tus 是一种基于 HTTP 的可恢复文件上传协议(protocol),因此您可以在中断的地方继续上传,而无需在出现任何中断时再次重新上传整个数据。您可以找到不同语言的协议(protocol)的各种实现 here .对于 php,您可以使用 this package .

关于php - 如何在用户中止并返回时恢复文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317953/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com