フォームが STEP1 〜 STEP3 のように複数のページに分かれておりすべてのページの記入が終わった段階でデータベースへの保存処理をしようとしています。
名前などの文字情報はセッションで次のページへ引き継ぐつもりですが、アップロードファイルをどのように引き継ぐか悩んでいます。
仮にステップ1で画像ファイルを選択するとして、ステップ2でキャンセルする可能性もあるため、アップロードされたファイルが使われないケースも考えられます。
思いつくのは以下のものです。
- 自動的に作られる一時ファイルの場所(tmp_name)をセッションに保持する。(ページ遷移すると消えてしまう?)
- 一時的に不可視のフォルダにアップロードしそのファイル名をセッションに保存する。最終段階で正式なフォルダに移動させる(24時間経った一時ファイルはcronで削除?)
- ファイル内容を base64 などで文字列に変換しておいてセッションで引き継ぐ
- MySQLなどのデータベースにバイナリ情報を保存し、最終段階でファイルに変換して保存する。セッションにはファイルIDを渡す
他にもいろいろな方法があるとは思いますが、
このようなケースではどういったやり方を取るべきなのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。