【问题标题】:How long do uploaded files stay on your server?上传的文件在您的服务器上保留多长时间?
【发布时间】:2011-03-15 03:04:01
【问题描述】:

当我使用表单上传文件时,它会为我提供“名称”和“tmp_name”,您应该将文件从其临时位置移动以保留它。但是文件在被删除之前会在服务器上保留多长时间?它是永久存储在那里直到您手动清理文件夹,还是在它提交的 PHP 脚本完成运行后被删除?我的表单跨越多个页面,我只想在最后处理所有内容,而不是在表单的每一页完成后处理部分。上传是在第 3 步(共 5 步)中,所以我想知道是否保存了第 3 步中上传的文件信息,如果在第 5 步后表单完成时该文件仍然存在。

【问题讨论】:

    标签: php forms post upload temporary-files


    【解决方案1】:

    除非 PHP 死于可怕的火焰般的死亡,或者您采取措施保存文件,否则当脚本退出时它会被 PHP 自动杀死。如果您需要通过多阶段表单保存它,则必须将其移动到安全的地方,然后跟踪它(隐藏的表单字段、会话、数据库等......)并实施您自己的清理系统以处理废弃表单中的孤立文件。

    【讨论】:

      【解决方案2】:

      这取决于 tmp 上传文件夹。如果是tmp 目录,你不能真的相信它可以活到第5步。如果你控制上传文件夹,那么你可以可靠地相信它可以活到第5步。你可以用@987654322设置上传路径@

      【讨论】:

      • 我觉得不错。我唯一能预见的是,如果用户没有完成表单,它需要不时进行一些清理。
      • -1 位于 tmp_name 的文件在请求结束时被销毁。请参阅 Marc B 的回答。
      【解决方案3】:

      一旦提交的 PHP 脚本运行完毕,它就会被删除

      因此,您可以将文件上传作为最后一步,也可以为未完成的表单实现自己的垃圾收集器。

      【讨论】:

        猜你喜欢
        • 2014-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-11
        • 2015-05-13
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多