2012-03-09 90 views
1

我正在寻找解决方案,即使在单击提交按钮后,我仍想保留上传的文件。在我的情况下,我打算给用户一个选择,即当用户感觉上传的文件之一即使在提交后也不是他的选择时,他只能重新上传他想替换的文件,而不需要重新上传其他文件。有没有办法使用HTML,PHP来完成这项工作。在发布提交表格后保留上传的文件

感谢

+0

是的,它可以做到。 – datasage 2014-01-27 13:12:57

+0

您是否保留上载到数据库中的文件的记录? – 2014-01-27 13:13:30

回答

1

一旦该文件已被上传使用move_uploaded_file将其移动到一个临时位置(不只是将它留在系统tmp目录的情况下得到的自动清理)。

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

然后编写运行每隔X小时,通过在你的临时位置是在某个特定时间段(filemtime)旧文件进入一个脚本,并删除它们(unlink)清理上载的任何文件,但形式是没有提交。

+0

嗨火,感谢您的回答,是否有可能得到一个示例代码。无需工作,代码更好理解。谢谢 – 125369 2012-03-09 13:56:31

0

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

这可能会导致恶意行为的一个例子是您可以隐藏文件上传,您可以在其中填充用户希望从用户硬盘上获得的任何文件。

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