上传的文件在您的服务器上保留多长时间?

Posted

技术标签:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

【讨论】:

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

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

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

【讨论】:

以上是关于上传的文件在您的服务器上保留多长时间?的主要内容,如果未能解决你的问题,请参考以下文章

使用java获取网络利用率

如果在您的服务器上启用了 PATH_INFO,请检查 PHP?

本网站需要在您的浏览器中启用 Javascript

在您退出Chrome之前,系统会保留您的Flash设置的解决方法

上传图片到apk

4客户机策略配置