戻るボタン実行後の一時ファイル削除について

このQ&Aのポイント
  • 画像掲示板制作時にブラウザの戻るボタンを押された際の一時ファイル削除処理に困っています。
  • 戻るボタンを非表示にする方法もありますが、ブラウザのBackspaceや閉じるを押された場合も同じ問題が発生します。
  • 他の開発者はこのような場合にどのような処理を行っているのか教えていただきたいです。
回答を見る
  • ベストアンサー

戻るボタン実行後の一時ファイル削除について

趣味で画像掲示板の制作を行っています。 入力フォームで名前等の情報入力と、<input type="file">でアップロードする画像を選択出来るようにしています。 その後、確認画面でアップロードされた画像を一時フォルダに入れて、登録を押すと一時フォルダの画像を最終的な保存場所に移す処理をしています。 ただ、確認画面でブラウザの戻るボタンを押された時の処理に困っています。一応、別に戻るボタンを作成して、フラグのようなモノを入力画面に渡して、そのフラグが来た場合は一時フォルダの画像を削除する処理を行っています。 ただ、ブラウザの戻るボタンを押された際は、その処理も実行出来ずに困っています。戻るボタンを非表示にする等の方法もあると思うのですが、ブラウザをBackspaceや閉じるを押された際も同じ現象になります。 みなさんこういった場合の処理はどのように行っているのでしょうか。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

リクエストが無い場合はどうしようもないので、一定時間以上経過したものを削除すると言うスクリプトをくんでいます。 一定時間経過したものを、負荷が大きい場合まとめてcronで、それ以外の場合は次のリクエストでチェックしています。 一時フォルダの中をdir関数で走査し、例えば2時間以上経過したものは削除、という感じです。

panda009z
質問者

お礼

お答えありがとうございます。 そうですよね。画像ファイル数枚ぐらいであれば、次のリクエストの時に一時フォルダを初期化する方法がありました。なんで思いつかなかったんだろう・・・・・。 それでも、作業中の人の画像を消すといった事がありえると思うので、時間をもとに削除する方法を調べてやってみたいと思います。 まだdir関数がよく分からないので、勉強してきます。

関連するQ&A

  • jQueryでファイルアップロード

    お世話になります。 jQueryでファイルアップロードの処理をしたいのですがやり方を教えて下さい。 Googleで検索すると色んなプラグインが出てくるのですが全体像がわからない為上手く動作してくれません。 やりたいのは、入力画面-->確認画面-->結果確認画面と遷移させてファイルをアップロードする処理です。 <画面仕様> (1)入力画面 ・氏名等の入力とアップロードするファイルの選択 ・アップロードファイルサイズのチェック (2)確認画面 ・入力画面で入力した内容の確認 ・アップロードするファイルの確認(個数、合計サイズ) (3)結果確認画面 ・アップロード処理結果の確認 ※実際のアップロードが入力画面でファイルを選択した直後に行われても構わない 嵌っているのは、入力画面でFORMのonsubmitと<input type="file">の両方を同時に設定できない事です。 FORMのonsubmitでは入力内容のチェックを、<input type="file">ではファイルのアップロードを行い、アップロードしたファイル名を隠しフィールドで確認画面に送りたいのですが、個々に指定するとそれなりに動くのに両方指定するとsubmitが優先されてしまい、<input type="file">のchengeイベントが動きません。 どうしたら良いかご教示下さい。 中途半端なソースですが、入力画面で私がやりたいことをコードにしてみました。 よろしくお願いします。 $(function() { $('#fileId').change(function() { $(this).upload('upload.php', function(res) { $(res).insertAfter(this); }, 'html'); }); }); <form id="form1" name="form1" action="confirm.php" method="post" enctype="multipart/form-data" onsubmit="return error_check();"> <input type="file" name="upload_file1" id="fileId" />

  • どうしたらアップロードしたテキストをブラウザで表示できるのですか?

    非常に初心者な質問でスイマセン。 先日『さくらインターネット』でレンタルサーバー契 約を結びました。 早速テキストにタグを色々書いてみました。 保存の際の拡張子もhtmlにし、ブラウザで確認も出来 ました。 さぁアップロードしてみようということで、テキスト をアップロードしたまでは良かったのですが、URL を入力してみても、さっきアップロードしたテキスト と画像フォルダそして、画像データしか見えません。 一言で言いますと、PCでフォルダを開いたような画面です。 僕はてっきり、先ほどブラウザで試したような画面になると思ってたので、ビックリしました。。。 物凄く初歩的なこととは思いますが、どうして良いか分りません。 宜しくご教授くださいませ。

  • 英語版IEでファイルの「参照」ボタンは何と表示?

    お世話になります。 IE限定の話ですが、ファイルのアップロードなどで使用する<input type="file">でブラウザ画面に表示される「参照...」ボタンの表示で、英語圏の場合は何と表示されるのでしょうか。 ブラウザの言語設定をUSに変えてもOS自体が日本語なのでやはり「参照...」と表示され不明です。。。

  • 一つの記事に2つ以上の画像を張るのOKボタンが分かりません。

    (1)あらかじめ画像フォルダに画像をアップロードしておく (2)記事投稿画面(「記事メニュー」→「新規投稿」)で「画像を選択/解除」ボタンをクリックする (3)掲載したい画像写真をクリックする (4)画像のみの画面が表示されるので、ブラウザのアドレスバーに書かれているURLをコピーしておく。※これが「画像のURL」になります。 (5)記事投稿画面の「IMG」ボタンをクリックする (6)(4)でコピーした画像のURLを貼り付けて「OK」ボタンをクリックする 6の「OK」ボタンがわかりませんが!お教え願いないでしょうか。 宜しくお願い致します。

  • Webブラウザの閉じるボタン無効化についての質問

    お世話になります。 現在、ASP.NET(C#)にてIEブラウザの閉じる(×)ボタンを 非表示にするあるいは無効にする処理を加えようとしています。 現行では、JavaScriptのonbeforeunloadにて閉じるボタン 押下時の処理を加えています。 しかしながら、処理を加えた後閉じるボタンを押下した際に 「このページからほかのページに移動しますか?」確認MSG が表示されてしまいまして、「OK」を押下すると画面が閉じて しまいます。 IEの閉じるボタン無効化の機能が成立しません。 そこで質問としまして、 ・IEブラウザの閉じるボタン無効化 ・IEブラウザの閉じるボタン押下時に表示される  「このページからほかのページに移動しますか?」確認MSG  を非表示にする 方法がございましたら、ご教授お願い致します。

  • PHPでファイルアップロードを中断した際の処理について

    PHPでファイルアップロードを中断した際の処理について はじめまして。 よろしくお願いします。 PHPを利用し、ブラウザからファイルのアップロードができるようにしようと考えています。 まだキッチリとは作っていませんが、ファイルのアップロードについては問題なく記述できます。 質問させていただきたいのは下記です。 今考えている仕様では「アップロード」ボタンを押し、アップロードが開始したら ウインドウ内にGIFアニメかFLASHなどで「Now Uploading...」などと表示させるつもりです。 このときにブラウザの「読み込み中止」ボタンをクリックし、アップロードを中止した場合に「Now Uploading...」の表示をやめさせる方法が思いつきません。 正常にアップロードが終わった後には「アップロードが終了しました」の画面に切り替わるように設定できるのですが、任意にブラウザの「読み込み中止」ボタンを押したときには「Now Uploading...」が表示され続ける方法しか思いつかず、対処に困っています。 何か良い解決方法やヒントがあれば、ご教示下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイルの表示の維持について

    今月に入りプログラミングに関わりました、初心者です。 教えてください。 管理・登録するシステムをASPで作成しています。 01.aspが登録画面になっており、そこに”プレビュー”と”更新”ボタンがあります。 02.aspでは”プレビュー”が押されると登録した内容をHTMLで表示し、”更新”が押されると登録したデータをテキストファイルに書き込み、画像はアップロードする処理を行います。 01.aspではINPUT type="file"で画像ファイルを選択するのですが、”プレビュー”で確認後、”更新”の為01.aspに戻るのですが、その時選択した画像ファイルの表示が消えており、もう一度選択し直して”更新”しなければなりません。 ”プレビュー”から戻ってもファイルの表示の維持をどうにかしてできないでしょうか? 宜しくお願い致します。

  • 初心者ですみません。画像ファイルのアップロードについて

    任意の画像ファイルをHTMLフォームで入力して 登録確認画面に渡した後、ファイルをアップロード したいのですが上手くいきません。 ・フォーム入力ページ <FORM action="登録確認ページ.php" method="POST" enctype="multipart/form-data"> <INPUT type="file" name="uploadfile" size="50"> <INPUT type="submit" name="reg" value="OK"> ↓ ・登録確認ページ $uploadfile = $_FILES['uploadfile']; move_uploaded_file($uploadfile, "$PHOTOTMP$imagefile"); $body .= "<IMG src='$PHOTOTMP$imagefile' width='240' height='180'>"; として、登録確認ページでアップロードする 画像ファイルをいったん表示させてから 最終的にアップロードさせたいのですが 「×」マークが出て画像が表示されません。 データの受け渡しが上手くできていないのでしょうか。 どなたか教えて下さい。よろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイルのアップロードに関して

    PHPでファイルのアップロードをしようと考えていますが、単純に1画面でファイルの選択し、 その画面上のボタンを押した際にアップロードするという事は可能ですが、ボタンを押した後、 次画面(プレビュー)でファイル名を確認し、2画面目のボタンを押した時にアップロードしたい と考えております。 どのように記述したら良いか教えて下さい。 《現状 このままでは正しく動作します》 1画面目 <FORM method="post" name="frm" id="frmid" enctype="multipart/form-data"> <TABLE> <TR><TD width="200">【登録画面】</TD></TR> <?php print("<TR>\n"); print("<TD width='200'>ファイルを選択:</TD>\n"); print("<TD><input type='file' name='upfile'></TD>\n"); print("</TR>\n"); ?> </TABLE> </FORM> 2画面目 <?php $updir = "//192.168.999.999/doc/"; $filename = $_FILES['upfile']['name']; if(move_uploaded_file($_FILES['upfile']['tmp_name'], $updir.$filename)==FALSE){ print("Upload failed"); print($_FILES['upfile']['error']); }else { print("<b> $filename </b> uploaded"); } ?> 実際は2画面目ではファイル名だけを表示させ、2画面目のボタンを押した際に 取り込み処理を行いたい。 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 画像アップロードと一時ファイルの問題

    只今、画像アップロードを使ったWebアプリの作成をしておりまして、どうしても解決できない問題が出てきました。 TOPページに画像を表示させていまして、最初にページを開いた際に画像を読み込み、その画像をクライアント側の一時ファイルとして保存していると思うのですが、登録してある画像を更新した場合、TOPに戻っても前の画像が表示されてしまいます。 ページの流れは、 画像表示画面(TOP)→画像更新フォーム→確認画面→画像表示画面(TOP) です。 現象をフローで説明しますと、 画像表示画面(画像Aが表示)→画像更新フォーム(画像Bに更新)→確認画面→画像表示画面(画像Aが表示されてしまう。) ブラウザを一旦閉じて、開きなおすと画像表示画面に更新した画像が表示されます。 画像は、<img>タグで、画像掲示板と同階層のimgフォルダから読んでいます。 ブラウザを再度開かなくても、ページ遷移のみで更新した画像を反映させることはできますでしょうか?

    • ベストアンサー
    • PHP

専門家に質問してみよう