【问题标题】:Retaining uploaded file after posting the submit form发布提交表单后保留上传的文件
【发布时间】:2012-03-26 21:11:13
【问题描述】:

我正在寻找一种解决方案,即使在单击提交按钮后,我也希望保留上传的文件。就我而言,我打算为用户提供一个选择,即当用户觉得即使在提交后也不是他选择的上传文件之一时,他只能重新上传他想要替换的文件而不需要重新上传其他文件。有没有办法使用 HTML、PHP 来完成。

谢谢

【问题讨论】:

  • 您是否记录了上传到数据库中的文件?

标签: php html upload


【解决方案1】:

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

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

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

【讨论】:

  • 嗨,谢谢您的回答,是否可以获得示例代码。不需要工作,代码更容易理解。谢谢
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多