- 締切済み
htmlのファイルを消さずに中に書かれている記述だけ消す事は可能でしょうか?
はじめまして。 どなたかお力になって頂けると有難いです。 htmlファイルを削除する事なく その中のソースだけを削除(初期化?)する事は可能でしょうか。 a.html(topページ)内にインラインフレームを設置し そのインラインフレームで b.html(日記)を表示しようと考えております。 b.htmlには一日分の日記のみを表示したいと考えております。 c.html(日記作成ページ)でb.htmlに日記を記述する所までは いけたのですが、新しい日記を書いた際古い日記が残ってしまい 一日分のみを表示するのができなくて困っております。 cgiやphpを使えば可能なのか、そもそもhtmlファイルの中身だけを 消すのが無理なのか、ご存知の方おられましたら どんな事でもかまいませんので助言を頂けないでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- LOHA
- ベストアンサー率52% (203/388)
回答No.3
>c.html(日記作成ページ)でb.htmlに日記を記述する所まではいけたのですが ということはc.htmlはcgiか何かを利用しているのですよね? そうであるなら、そのcgiのスクリプトで、b.htmlファイルの読み書きをするところが追記モードになっているのではないでしょうか? URLは参考までに。perlによるファイル入出力です。
お礼
やっとわかりました。 本当に助かりました。
補足
回答どうもありがとうございます。 答えの出口が見えた感じがします。 http://easycgi.xrea.jp/perltips/bbs.htm 上記サイトにあります 書き込み用CGIを参考に作成しているのですが どうもうまくいきません。 #!/usr/bin/perl #----------# # 設定 # #----------# # bbs.cgi のURL $url = "http://easycgi.xrea.jp/admin/bbs.cgi"; # デコード require 'jcode.pl'; read( STDIN, $data, $ENV{ 'CONTENT_LENGTH' } ); @pairs = split(/&/,$data); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/</</g; $value =~ s/>/>/g; $value =~ s/\n/<BR>/g; $value =~ s/\t/ /g; $value =~ s/\r//g; &jcode'convert(*value,'sjis'); $FORM{$name} = $value; } # 未入力確認 if ($FORM{'name'} eq "") { &nodata('お名前') ; } if ($FORM{'title'} eq "") { &nodata('件名') ; } if ($FORM{'body'} eq "") { &nodata('本文') ; } # データを結合する $log = "$FORM{'name'}<>$FORM{'title'}<>$FORM{'body'}\n"; # ファイルを開いて書き込み if (!open(IN,"bbs.log")) { &fileerror; } flock(IN, 1); @DATA = <IN>; close(IN); if (!open(OUT,">bbs.log")) { &fileerror; } flock(OUT, 2); unshift (@DATA,$log); print OUT @DATA; close(OUT); print "Content-type: text/html\n"; print "Location: $url" . '?' . "\n\n"; # 未入力エラー表示 sub nodata { print "Content-type: text/html\n\n"; print "<CENTER><B>$_[0] が入力されていません!</B></CENTER>"; exit; } # ファイルエラー表示 sub fileerror { print "Content-type: text/html\n\n"; print "<CENTER><B>ファイルが開けません!</B></CENTER>"; exit; } このcgiの if (!open(OUT,">bbs.log")) { &fileerror; } flock(OUT, 2); unshift (@DATA,$log); print OUT @DATA; close(OUT); print "Content-type: text/html\n"; print "Location: $url" . '?' . "\n\n"; の部分をさわれば出来そうなのですが どうもうまくいきません。 お力をお貸し頂けないでしょうか。