symfony2 を使用してマルチステップ ファイル アップロードを構築しています。
最初の画面では、ユーザーは CSV ファイルをアップロードできます。
2 番目の画面では、データベース列を CSV 列にマップできます。
コントローラーには、各画面に 1 つずつ、合計 2 つのメソッドがあります。
file_upload => 最初の画面
match_csv => セカンド スクリーン
file_upload メソッド内に、次のコードがあります。
return $this->redirect($this->generateUrl('match_csv',
array(
'accountId' => $accountId,
'projectId' => $projectId,
'file' => base64_encode( $file->getPathname() )
)
), 301);
私のmatch_csv
方法では、次のコードがあります。
$file = base64_decode($file);
$csvFile = new \SplFileObject( $file );
$csvFile->setFlags(\SplFileObject::READ_CSV);
私の問題は次のとおりです。
file_upload
ビューを からに切り替えるmatch_csv
と、ファイルが存在しないことを示すエラーがサーバーから返されます。
スクリプトの実行が停止するとすぐに、PHP が一時ファイルを削除することを理解しています。したがって、symfony2 でビューを切り替えると、file_upload メソッドが停止し、ファイルが削除されます。
私の質問は/です:
ビュー間でアップロードされたファイルを共有するためのより良い代替手段はありますか?
Symfony2/PHP が自動的に削除しないように、一時ファイルを自分で作成し、使用を停止した直後に削除することは良い考えですか?