- 締切済み
アップロードした画像の削除
フォームから画像をアップロードするものを作っています。 アップロードから画像の表示まではできているのですが 画像の削除の方法について教えてください。 単純に削除であればunlinkでいいのですが入力画面内にての 途中の工程でのいい方法がわからず困っております。。。 必須項目が5つありそのうちファイル選択が1つというのが前提です。 1・フォームからをファイルを選択 ※他の項目は空の状態 2・ファイルが選択されていれば必要なエラーチェックを行い 問題なければ一度でも送信ボタンを押したら他のフォームの値が 空でエラーがあってもファイルデータ保持のためバイナリデータ としセッションで保持した後サーバーにファイルをアップロード ※他のフォームが空なのでエラーとなり確認画面へページ移管は せず再度入力画面を表示 3・バイナリデータをもったセッションがあれば画像表示のため 別のphpファイルを読み込み入力画面中に確認用画像として表示 ※セッションを使用 4・画像表示と一緒に画像削除用のリンクを表示 ※<a href="hoge.php?action=del">削除<a> ※一度でも画像をアップロードすれば削除をクリックしセッション 削除しない限りファイルの選択は無効となる 5・削除をクリックしたら以下のソースでファイルに関しての 必要なセッション削除 if ($_GET['action'] == 'del') { // アップされたファイル削除 @unlink($_SESSION['file']['image_path']); // セッション削除 unset($_SESSION['file']); // 削除後移動 header('Location:' . $_SERVER['SCRIPT_NAME']); exit(); } これで問題なく画像は消えるのですが他のフォームに入力している 値までが削除(初期化?)されてしまいます。 ※header関数を使わなくてもアドレスがhoge.php?action=delと なるだけで結果は同じでした。 希望としては削除をクリックしたらファイルに必要なセッション のみを削除し他の入力されている項目の値残したいのですが どのような方法がありますでしょうか? 他の項目の値はセッションで保持している訳ではないのでheader 関数で移動すれば値も消えていて当然というのはわかるので実現 できる事なのかすらわからない状況です。 わかりづらい質問となってしまい申し訳ございませんが宜しく お願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- warez
- ベストアンサー率57% (29/50)
他の値もセッション変数に入れておくのはダメなのですか?
お礼
お返事遅くなりすみませんでした^^; >他の値もセッション変数に入れておくのはダメなのですか? 他にいい方法はないものかと考えているのですが自分でもこの 方法しか思いつかないのが現状です。。。 やはりそれしかないでしょうか?