2011-06-18 11 views
1

私はギャラリーのようなWebアプリケーションを開発しています。ユーザーはディレクトリ下のすべての写真をzipファイルとしてダウンロードするよう要求できます。私はこの方法でこの機能を実装するつもりです:ファイル名が各要求に対して一意であるzipファイルを作成し、そのファイルをディレクトリに保存し、x-sendfile経由でユーザーに送信します。ウェブアプリケーション用の一時ファイルを保存するには良い場所ですか?

これらの一時ファイルを保存するにはどうすればよいでしょうか?適切な場所とは、自動的にクリーンアップされるディレクトリを意味します。この種のディレクトリは存在しますか?このアプリはLinux + Apache + PHPで動作しています。

答えて

0

私が考えることができるアプローチの1つは、各要求の一意のファイル名と同じディレクトリ名を持つ一時ディレクトリを作成し、そこにファイルを置くことです。操作が正常に終了した後(例外なく)、このディレクトリを削除してください。

+0

しかし、問題は、x-sendfileでファイルを送信している間に、ファイルの送信が完了する前にWebアプリケーションが終了することです。だからクリーンアップは、Webアプリケーション自体で行うことはできません。 – powerboy

+0

ああ、これを行うことができます最後の一意のディレクトリ名をどこかに格納し、ディレクトリを削除し、次のトランザクションで新しい一意の名前で置き換えますか? –

+0

私のアプリは複数のマシンで同じユーザーアカウントのログインを許可するので、それは簡単ではないと思います。以前のダウンロードが完了したかどうかを判断するのは簡単ではありません。私が探しているものは/ tmpディレクトリのようなもので、自動的にOSでクリーンアップすることができます。私はそれらのzipファイルを/ tmpに入れてもうまくいけば分かりません。 – powerboy

関連する問題