アプリ版:「スタンプのみでお礼する」機能のリリースについて

$_FILESでアップロードされた画像ファイルをセッションに保存し、
確認画面で確定されるとファイルとして保存するという処理を
作成したいのですが、
どのようにすればいいのでしょうか?
ファイルサイズは20MBくらいです。

A 回答 (2件)

セッション変数にそのままファイルが格納出来るかどうかはわかりません(やろうと思った事もありません)。


一般的にはアップロードされた画像を一時ファイル(テンポラリ)として扱えば良いのではないでしょうか。

すなわち、アップロードされたファイルに仮に名前をつけて、その仮の名前をセッション変数に格納します。アップロードされたファイルには最初からtmpnameがありますから、それを使うのが楽かと。
確定したら、格納されている仮の名前を正規のファイル名にリネームすれば良いと思います。

この回答への補足

回答ありがとうございます。
私もその方法をはじめは考えたのですけれど
それだと通常の流れであればいいのですが
結局確定しなかったり、途中でブラウザを閉じられたりするときに
仮ファイルがのこってしまいます。
そのためセッションなら期限が切れたら消えるかなと思ったのです。

補足日時:2006/10/29 13:17
    • good
    • 0

> 仮ファイルがのこってしまいます。


確かに。
私の場合はテンポラリディレクトリに残っているファイルをサーチしてfilemtimeで1日以上前のものを削除するようにしています。
    • good
    • 0
この回答へのお礼

やはりそのような処理になりますよね。

というわけで、
普通に
tmp_nameのファイル内容をfreadで読込み、セッションに保存。
確定時、セッション内容をfwriteで特定ファイル名で保存。
という処理にすることにしました。
なにか不具合でなければいいんですけれどね。

ありがとうございました。

お礼日時:2006/10/30 16:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!