我正在寻找一种解决方案,即使在点击提交按钮后我也想保留上传的文件。在我的情况下,我打算为用户提供一个选择,当用户认为即使在提交后,上传的文件之一不是他所选择的,他也可以仅重新上载他想要替换的文件而不需要重新加载其他文件。有没有办法如何使用HTML,PHP来完成。
由于
答案 0 :(得分:1)
上传文件后,使用move_uploaded_file
将其移至临时位置(不要只是将其保留在系统tmp目录中,以防自动清理)。
表单提交后,您可以使用rename
将其从临时位置移动到永久位置。
然后编写一个每X小时运行一次的脚本,该脚本遍历临时位置中早于特定时间段(filemtime
)的文件并删除它们(unlink
)以清除所有文件已上传,但表格未提交。
答案 1 :(得分:1)
出于安全原因,您无法重新填充文件上传字段。
这可能会导致恶意行为的示例是您可以使用隐藏文件上传,您可以使用任何您希望从用户硬盘驱动器中填写文件来填充它。
您可能保留所选文件的唯一方法是通过AJAX提交表单数据,以便用户永远不会实际离开页面,并且只有在验证成功时才将用户重定向到一个谢谢页面(例如)。 / p>