SSIで掲示板のカウント数を他のHTMLから参照するには??

[上に] [前に] [次に]
えい [E-Mail] 1999/12/11(土) 16:57:58
はじめまして。よく掲示板の書き込みの横にある"カウント数"と"年月日時分"を別なHtmlに表示したいと考え掲示板のログの街頭部分をプログラムで取得し、SSIで表示出来ると思いやってみましたがうまくいかないのです。

掲示板のログの最初の部分------------
410
410<><>1999年12月11日(土)14時46分26秒<>えい(管理人)<>eiji@mail1.big.or.jp<><>テスト<br><><>021.ppp.odn.ad.jp<><>008040<>
------------------------------------

掲示板のログの形式は上記のようになります。
このログの2行目、最初の410(カウント数)の部分と1999年12月11日(土)14時46分26秒(年月日時分)の部分を取り込むため、以下のようなプログラムをラウンジの過去ログを参考に作成しました。

test.pl-----------------------------
#!/usr/local/bin/perl

$subjectfile = 'petit.log';

open(DATA,$subjectfile);
while(<DATA>){
   chomp;
   ($count,$rescount,$date) = split(/<>/);
   print"$date</td><td>$count</td>\n";
   last if ++$i>=1;
}
close(DATA);
------------------------------------

ログをみると2行目から"書き込みの情報"があるのですが、1行目にまず"カウント数"があるので、このままでは2行目の"カウント数"と"年月日時分"を参照することが出来ません。ちなみに上の例では、ログの"410"の部分を削除してやるときちんと参照できるようになりますが、今度は掲示板が動作しなくなります。
1行目のカウント数を表示させなければいいと考え、掲示板のプログラムを覗いて、何十回か実験してみましたが、どうすればよいのかわからず仕舞いでした。ちなみに掲示板はおなじみKENTさんの、Petit Boardです。
http://www.kent-web.com/

ログの2行目の情報を取得するためにはtest.plを具体的にどう修正すればよいのでしょうか。

また、このような方法でSSIを使い、他の掲示板7−8つの掲示板のカウント数と年月日時分も一つのtest.shtmlに表示するというのはもちろん可能だと思うのですが、サーバーへの負担という面でどうなのでしょうか。具体的にはここの掲示板のようにしたいと思い試行錯誤しています。
http://www.jah.ne.jp/~uchu/bbs/visit-kt98.shtml
(管理人さん多忙のため、全部の掲示版は動作していません)

みなさん、よろしくお願いいたします。

J.Naka 1999/12/12(日) 02:23:43
2行目の取得だけなら以下のように簡単だと思うが、
複数ファイルの取り込みも右に準じる思う。
外してないとして(^^;

#{-- ログの二行目の部分文字列を取得する by J.Naka --
open(SRClog,"Src.log");
<SRClog>;#破棄だっ!!(笑)
$Line = <SRClog>;
close(SRClog);
print"-- NakaCODE --\n";
print"$Line\n";
#}-- 二行目の取得 by J.Naka --

P.S.
ラウンジ投稿文に、スペースを入れるとログサイズが爆発する。
ソースを見てビックリ。。。とほほさんも神経質になるわけさ。

えい 1999/12/13(月) 19:32:08
[[解決]]
J.Nakaさん、ご丁寧なお返事ありがとうございました。
解決いたしました(^^)
スペースの件、大変申し訳ありません。1年ほど前こちらを利用させて頂いたときに、質問の趣旨がよくわからないといわれたもので、今回はどのような状況を経てどこがわからないのかを示したかったものですから、ソースをそのままカットアンドペーストで張り付けてしまいました。
今回の質問も、プログラムわかる方には簡単すぎることなのでしょうが、SSIがどのようなものかぐらいにしか理解していないものとしましては、ラウンジのような場所は大変ありがたいです。今回はありがとうございました。それでは解決ボタンを・・・

J.Naka 1999/12/13(月) 21:04:28
えいさん、ども。ご丁寧な御返事を恐縮です。

 スペースの事は、前に十行以上のコードをコメントたっぷりに貼り付けたところ、&nbsp でログが埋め尽くされていたのにビックリしたのでそれで、ちょいと書いてしまいました。

 だけど、数行程度のコードなら見易さが第一だと思います。それのための、&nbsp のはずてすし。

さて、本題(しっつこい(^^?)。
 それで、2行目の取得バグは、whileループのロジックミスということと、2行のみの取得ならばwhileループは不要という私のレスはOKでしょうか?
 そして、えいさんの冒頭の質問内容からは、whileループバグとSSIは直接的関係はないといういう私の理解は的を射ていたでしょうか?(ここは今、初めて書きましたが(^^;)

#もう充分です。ということでしたから無視してもらって大丈夫です。(^^;;

[上に] [前に] [次に]