发布提交表单后保留上传的文件

时间:2012-03-09 11:59:04

标签: php html upload

我正在寻找一种解决方案,即使在点击提交按钮后我也想保留上传的文件。在我的情况下,我打算为用户提供一个选择,当用户认为即使在提交后,上传的文件之一不是他所选择的,他也可以仅重新上载他想要替换的文件而不需要重新加载其他文件。有没有办法如何使用HTML,PHP来完成。

由于

2 个答案:

答案 0 :(得分:1)

上传文件后,使用move_uploaded_file将其移至临时位置(不要只是将其保留在系统tmp目录中,以防自动清理)。

表单提交后,您可以使用rename将其从临时位置移动到永久位置。

然后编写一个每X小时运行一次的脚本,该脚本遍历临时位置中早于特定时间段(filemtime)的文件并删除它们(unlink)以清除所有文件已上传,但表格未提交。

答案 1 :(得分:1)

出于安全原因,您无法重新填充文件上传字段。

这可能会导致恶意行为的示例是您可以使用隐藏文件上传,您可以使用任何您希望从用户硬盘驱动器中填写文件来填充它。

您可能保留所选文件的唯一方法是通过AJAX提交表单数据,以便用户永远不会实际离开页面,并且只有在验证成功时才将用户重定向到一个谢谢页面(例如)。 / p>