dポイントプレゼントキャンペーン実施中!

フォームから画像をアップロードするものを作っています。
アップロードから画像の表示まではできているのですが
画像の削除の方法について教えてください。

単純に削除であれば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
関数で移動すれば値も消えていて当然というのはわかるので実現
できる事なのかすらわからない状況です。

わかりづらい質問となってしまい申し訳ございませんが宜しく
お願い致します。

A 回答 (1件)

他の値もセッション変数に入れておくのはダメなのですか?

    • good
    • 0
この回答へのお礼

お返事遅くなりすみませんでした^^;
>他の値もセッション変数に入れておくのはダメなのですか?
他にいい方法はないものかと考えているのですが自分でもこの
方法しか思いつかないのが現状です。。。
やはりそれしかないでしょうか?

お礼日時:2008/11/29 04:40

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