1

クライアントの場合、PHP5 でマルチステップ フォームを作成しています。最初のページの 1 つで、複数のファイルのアップロードがあります。アップロードされたファイルは、ユーザーがフォームに入力するまで一時ディレクトリに保存する必要があります。現時点では、すべてのフォーム データは一意の番号を持つセッションに一時的に保存されます。ファイルをセッションに保存することも考えましたが、これはおそらく最大サイズ エラーによりエラーが発生します。

私が考えた別の方法は、ファイルを一時ディレクトリ(tmpname())に保存することでした。しかし、この方法の問題点は、一時フォルダーが OS によっていつでも消去される可能性があることです。その場合、ファイルは失われます。

理想的な解決策は、フォームが完成したときにファイルを永続的なディレクトリに移動することです (これは難しくありません)。非アクティブのためにセッションが期限切れになると、ファイルは一時ディレクトリから削除されます (未使用のスペースを減らすため)。

これを作る最良の方法は何でしょうか?つまり、組み込み機能などがあります。

4

1 に答える 1

1

では、セッションで生成された tempnam() の名前を、目的のファイル名と一緒に保存してみませんか? お気に入り

$_SESSION['temp_files'] = array($truename => $tempname);

session_close では、手動でファイルのリンクを解除して完了します。一時ファイルが期限切れのセッションから一時ディレクトリにヒープされるのを防ぐために、ディレクトリから特定の年齢のファイルをジョブでパージすることができます。

私は何かを忘れましたか?

于 2012-05-29T14:59:17.390 に答える