• ベストアンサー

インターネット一時ファイルを削除できるCGIプログラム教えて下さい。

今、画像のアップロードCGIを作成したのですが、 インターネット一時ファイルに画像ファイルが 残っていて、最新のものが表示できません。 画像に新しいファイル名をつけて保存ができません ので(仕様上)、インターネット一時ファイルを 削除できるCGIがあったら、プログラム教えて下さい。 ヒントでも良いです。困っています。 教えて下さい。

  • CGI
  • 回答数4
  • ありがとう数3

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

  • ベストアンサー
  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.4

No.3の方に補足してですが、JavaScrioptで無理やり乱数を足してやってもうまくいくはずです。 もし、CGIで乱数を足すのが面倒な場合、こういった方法もあります。 <script language="JavaScript"> <!-- ndate=new Date(); num=ndate.getTime(); document.writeln('<img src="gazou.gif?'+num+'">'); //--> </script> ただし、この場合、JavaScriptが必須になります。 (JavaScriptが動かない場合、画像が見えない)

sara555
質問者

お礼

回答有難うございます。 勉強になりました。

その他の回答 (3)

  • ron3
  • ベストアンサー率35% (7/20)
回答No.3

全然違う考え方になるとおもいますが、 最新のものを表示するのが目的ならば、 その画像を呼び出すものもCGIじゃないかと思うのですが、 <IMG SRC="gazou.cgi?No=1"> ってかんじでしているのを、 <IMG SRC="gazou.cgi?No=1&tmpNo=20193479"> といった感じで、乱数とかで作ったパラメータくっつけるという、古い携帯用CGIみたいなことやってみたらどうでしょうか? どんどん一時ファイルはたまっていくわけですが、 最新のものを表示できます。(たぶん)

sara555
質問者

お礼

回答有難うございます。 勉強になりました。

  • kosa
  • ベストアンサー率25% (379/1464)
回答No.2

そんなことが出来てしまえば事件ですね。 またMicrosoftがセキュリティーホールだのでパッチを配布するのでしょう。 インターネット一時ファイルはローカルPCの操作なのでノートンなどで削除してみそ

  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.1

メタタグでキャッシュを制御した方がよいのではないでしょうか。 <meta http-equiv="Pragma" content="no-cache">

参考URL:
http://tohoho.wakusei.ne.jp/html/meta.htm
sara555
質問者

お礼

回答有難うございます。 勉強になりました。

関連するQ&A

  • cgiでファイルダウンロード時の文字化け

    このcgiはファイルをアップロードとダウンロードすることが出来るcgiです。 日本語名のついたファイルをアップロードするときは文字化けもなく保存できるのですが、そのファイルをダウンロードすると日本語が文字化けしてダウンロードされてしまいます。 アップロードした時点で Fileというフォルダに格納されるのですが、そのときはまだ格納されたファイルは文字化けはしていません。cgi上に表示されているファイル名も文字化けはしていません。 ダウンロードするファイルを選択した時点で文字化けしたアドレスがIEの下に表示されます。そして、その文字化けの文字のままファイル名となってダウンロードされてきます。 yahooのブリーフケースに日本語のファイル名をアップした時のURLの文字化けに似ているような気がします。 でもyahooの場合はダウンロードしてもファイル名は文字化けしていないのです。 ご指導よろしくお願いいたします。

  • PDFファイル管理プログラムと表示するプログラムのサンプルを探しています。

    いつもお世話になります。perlにてPDFファイルをアップロード、削除。変更する管理プログラムとこのアップロードしたファイルに見出しを見出しを付けてページに表示するプログラムを作成したいと思います。(こちらはperlでのSSI) たとえば会計.PDFファイルをアップロードすると、ホームページ上でH17年度会計という様に表示されるようにしたいのですが、方法が分かりません。 管理プログラムでアップロードしたファイルの実ファイル名、見出し名(ファイルに対する名前:会計.pdfに対する平成17年度会計)をファイルに書込み、表示プログラムでこの情報を読めばよいと思いますが、まだ初心者なのでperlの書き方がわかりません。ファイルアップロードなどのサンプルはありますが、ファイル名と見出し名の結びつけの処理が特に分かりません。どなたかご教示またはサンプルのご提供をお願いいたします。

    • ベストアンサー
    • Perl
  • ロリポップでのCGIファイルの使用について

    ホームページ作成ソフトで、携帯用サイトを作りサーバーにアップロードしたのですが、 ブラウザで確認するとエラー403がでてしまいます。 ソフトのユーザーサポートに問い合わせたところ、プログラムには問題がないので、 サーバーとCGIの関係で問題があるのではとの事でした。 エラー表示の注記に <CGIを利用の場合は「index.cgi」 の名前のファイルが無い場合、エラーが発生いたしますのでご注意ください。> とあったので、 試しにcgiのファイル名に「index.cgi」と入れてみたのですが、同じエラーが表示されてしまいました。 この場合、うまくブラウザに反映させるにはどのようにすれば良いのでしょうか。 利用環境・状況は次の通りですので、よろしくお願いいたします。 ■OS windowsXP ■ブラウザ IE ■アップロードしたファイル 「htmlファイル1つ」と「cgiファイル1つ」 ちなみに、htmlファイル単体ではブラウザに表示されるようです。

  • インターネット一時ファイルの削除

    閲覧した画像やサイトなどがインターネット一時ファイルに保存される ことを初めて知り、家族共有で使っているので、自分の履歴など家族に 見られたくないと思い、今削除をしています。 自分の分だけを消したいので、右クリックして削除・・と地道に作業 していますが、消えないものもあります。 右クリック→削除で消えないものはどうやったら消せますか? また、この削除したものは完全にPC上から消えるのでしょうか? 削除すると今度はゴミ箱などに入ってしまいますか? 完全に削除したいのですが。 初心者なので分かりやすく教えて頂けると助かります。

  • ファイル表示・削除CGI

    ディレクトリ内の特定ファイルの表示と削除が出来るCGIを探しています。 「CGIScriptMarket」さんの「Web_Index」で出来るのですが、このままでは全部のファイル・下位ディレクトリを表示してしまうため使えません。改造が必要なのですが、良い方法が見つかりません。 表示したいのは「jpg」ファイルのみです。 そこで、消極的ですが、リスト振り分けを行っているであろう部分に(CGIの60行目当たり"foreach (@list) {"内に) (($_ eq '.') or ($_ eq '..') or /\.cgi$/ or /\.htaccess$/ or /\.pl$/ or /\.dat$/ or /\.db$/) and next; を追加しました。これで他のファイルは表示しなくなりましたが下位ディレクトリを表示してしまいます。 この方法ではなく、「jpgファイルだけを表示する」方法があるでしょうか? 素人的な文章だと if(@list eq .jpg){表示する…} これもおかしいですよね。eqだと"同じ"にならないとだめですよね。他にちゃんとした書き方があると思うのですが… さらに、保存される画像を誰が消しても言いというわけではないです。IDとPASSによって入場した場所にこのCGIを設置します。 画像はIDと日付という組み合わせで保存されます。(0001-031013.jpgのような形) そこで、ユーザーIDが入っている画像のみ表示するという機能も必要です。 仕方は上の方法とかぶるかもしれませんが、文字列の一部に含まれるものと比較する(この表現もおかしかったりして…)仕方も良くわかっていません。 以上2点ですが、説明不足かもしれません。何をしたいのかが良く伝わっていなければ補足お願いします。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • IEのインターネット一時ファイルの設定の中のオブジェクトの表示の中に、壊れているプログラムファイルは削除していいですか?

    Internet Explorerの「ツール」→「インターネットオプション」→「全般」の中の「インターネット一時ファイル」の「Cookieの削除」および「ファイルの削除」を実行した後、「設定」を開くと、さすがに「ファイルの表示」をクリックしてもファイルは全て無くなっているのですが、「オブジェクトの表示」をクリックすると、20~30くらいのプログラムファイルが表示されます。インターネット一時ファイルは全て削除したはずなのになぜ表示されるのかが分かりません。これらは、インターネット一時ファイルではないのでしょうか?一体どんなファイルなのでしょうか?(初歩的ですみません)  また、「オブジェクトの表示」の中のプログラムファイルには、状態が『不明』、『インストールされています』、『壊れています』の3種類があるのですが、『壊れています』というのは何がどのように壊れているのか分かりませんが、削除してかまいませんか? また、インターネット一時ファイルの中には、Cookie やファイルというのがあるというのですが、一体キャッシュはどこにあるのでしょうか?これらの違いもよく分かりません。 いたって、初歩的な質問かも知れませんが、ご教授願えませんか?これから、セキュリティーとサイトへの効率的なアクセスの両方の面を睨みながらパソコンの設定を考えたいと思いますので、ご指導の程よろしくお願いします。

  • perl-cgi「日時によるファイル操作」について

    perl-cgi「日時によるファイル操作」について perl-cgiで、あるディレクトリ中のファイル更新日が最も若い2ファイルを表示して、それ以外を削除したいのですがどのようにすればよいでしょうか? #調べたいディレクトリを読み込む。 $Dir = "./cache"; opendir DIR,"$Dir"; my @alldir = readdir DIR; close DIR; #ファイル(パス)名と作成日時を求める。 #最新2つのファイルパス(名)を表示する。 print "NewFile".ファイルパス1; print "<HR>"; print "OldFile".ファイルパス2; #最新2つ以外は全て削除 unlink($_); exit(0);

    • ベストアンサー
    • Perl
  • CGI::Liteでファイルのアップロード

    Perl5.8でCGI::Liteを使ってファイルのアップロードをするつもりですが、ファイル名が日本語の場合とファイルの中身が文字化けして保存されています。 文字コードはutf8で統一させているのですが、 例えば、テスト.txtというファイルで中身がEUC-JPのファイルをアップロードしてもアップロード先でファイル名が化けずに中身もEUC-JPで保存されるようにしたいのですが、どういう関数を施せば良いでしょうか? CGI::Liteに変わる他のモジュールでもあるのでしょうか?

    • ベストアンサー
    • Perl
  • インターネット一時ファイル

    いきなりTemporary Internet FilesとHistoryのフォルダの中身が何も表示されなくなり、履歴が真っ白になってしまいました。 インターネットオプションから、インターネット一時ファイル→設定でインターネット一時ファイルのフォルダを見たんですが。 現在の場所が空白になっていてフォルダを移動させようとしても「現在ダウンロードしたコンテンツのための新しい場所の領域が不足しそうです。最初にファイルを削除し、もう一度ダウンロードする、フォルダのサイズを縮小する、または別の場所を選択してください」とでます。 使用するディスク領域も設定できません。 それ以前にダウンロードしたものはなく、新たにダウンロードできなくなりました。 ファイル名を指定して実行し、一時ファイルを削除したのですが新たに保存できません。 どうすればまた一時ファイルと履歴を保存できるのでしょうか、どうか教えてください。

  • cgi

    CGIファイルを開こうとしたのですが、「このファイルを開くには、作成元のプログラム名が必要です」と表示され、開くことができません。Webでもなかなか適切なプログラムを探せません。どなたか良い解決法をご存知ないでしょうか?

専門家に質問してみよう