【问题标题】:A good location to save temporary files for a web app?为 Web 应用程序保存临时文件的好位置?
【发布时间】:2011-06-18 21:43:32
【问题描述】:

我正在开发一个类似画廊的网络应用程序。用户可以请求将目录下的所有照片下载为 zip 文件。我打算这样实现这个功能:为每个请求创建一个文件名唯一的 zip 文件,将文件保存在一个目录中,并通过 x-sendfile 发送给用户。

那么保存这些临时文件的好位置是什么?一个好的位置意味着一个自动清理的目录?这种目录存在吗?该应用程序在 Linux + Apache + PHP 上运行。

【问题讨论】:

    标签: lamp


    【解决方案1】:

    我能想到的一种方法是创建一个临时目录,其目录名称与每个请求的唯一文件名相同,并将文件放入其中。操作结束后(成功或异常),请务必删除此目录

    【讨论】:

    • 但问题是,通过 x-sendfile 发送文件时,Web 应用程序在文件完成发送之前退出。因此无法在 Web 应用程序本身中完成清理工作。
    • 哦,你能不能这样做,将最后一个唯一的目录名称存储在某个地方,然后删除该目录并在下一次事务中用新的唯一名称替换它?
    • 我想这并不容易,因为我的应用程序允许在多台机器上登录相同的用户帐户。确定之前的下载是否完成并不容易。我正在寻找类似 /tmp 目录的东西,它可以由操作系统自动清理。如果我只是将这些 zip 文件放在 /tmp 中,不确定它是否有效。
    【解决方案2】:

    你可以在这里使用 Apache Ant 吗?因为这里有一个 Zip 类:

    http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/api/org/apache/tools/ant/taskdefs/Zip.html

    它有一个 cleanUp() 方法,可以满足您的要求。

    【讨论】:

    • 看起来是一个潜在的解决方案!我会调查的。
    猜你喜欢
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    相关资源
    最近更新 更多