- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:is_uploaded_fileについて)
is_uploaded_fileについて
このQ&Aのポイント
- 画像のアップロードを行うソースコードで、is_uploaded_fileを使用しているが、思うような結果が得られない。
- regiKボタンが押された後、kakunin()メソッドに処理が移り、確認画面が表示される。
- insertボタンを押すと、insert()メソッドに処理が移り、表示されるファイル名には(tmp)以降が表示されない。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 移動または名前の変更が行われていない場合、リクエストの終了時に そのファイルはテンポラリディレクトリから削除されます。 で答えになるでしょうか?
その他の回答 (1)
- tany180sx
- ベストアンサー率63% (239/379)
回答No.2
フォーム -POST-> 確認 -POST-> 保存 という処理でよいでしょうか? セッションに保持しているのはファイル名なので、 確認ページを表示した際に、実際のファイルは消えてしまいます。 <input type="file" />にvalueを与えることはできないので、 次のページでも使用するには、どこかしらファイルを移動なり保存する必要があります。 move_upload_fileで場所を移す、もしくは セッションにファイルのデータも入れてしまうとか・・ やり方によっては不要なファイルを削除する、という処理が必要になります。 セッションならガーベージコレクションによって削除されますが。
質問者
お礼
問題の方が解決しました! 本当にありがとうございました。
質問者
補足
はい。フォーム -POST-> 確認 -POST-> 保存 という処理になっています。 できれば、insert()メソッドで、is_uploaded_file()や move_uploaded_file()を使いたいと考えています。 >move_upload_fileで場所を移す とは、$_FILES['userfile']['tmp_name']の場所を移すということですか? また、 >セッションにファイルのデータも入れてしまう とは、例えば、どのようなものを使えばいいのでしょうか?
お礼
ありがとうございます。 PHP初心者なので、勉強になりました!
補足
それでは、function insert内で$in_fileTmpを得たい場合は どうすればいいのでしょうか?