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

时间:2010-07-13 03:56:57

标签: php forms post upload temporary-files

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

3 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:6)

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

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

答案 2 :(得分:1)

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