STEP 11 ふたたび掲示板にとりくむ!


掲示板第2弾

性能は150%以上(当社比)となったかな?
えーと、ファイルのロックが付いたし、入力チェックが200%程度強力になって・・・ 最大保存のメッセージ数とか、1ページのメッセージ数とかも決められるようになったし。 Cookie で設定された情報も自動で設定されるし、URL のチェックもついたのであります。
まあ、とにかくそういうことであります。(どういうことだ)


動かすときに、順序などが選べます。

前回の続きから読む(未読ポインターを参照)

タイトル一覧の表示(未読ポインターを参照)


タイトルを表示、正順(新しいものが下)

タイトルを表示、逆順(新しいものが上)

内容を表示、正順

内容を表示、逆順


bbs.cgi の中身

bbs.env の中身  カスタマイズできる部分の変数の設定

bbs-ctr.dat の中身 発言 # のカウンター

jcode.pl の中身 日本語変換ルーチン

getcode.pl の中身 jcode'getcode の改変版

chkurl.pl の中身 ホームページへの URL をチェックするルーチン

jcode.pl の入手元は こちら です。jcode.pl,v-2.6 98/02/20 現在

注意点としては、msg/ ディレクトリです。
あらかじめディレクトリを作成しておきます。


移植する場合の重要な注意
 掲示板に書き込まれた内容を $webmaster にたいしてメールにして発信します。
 移植する際には、必ず、bbs.env のメールアドレスを書き換えてください。

特徴
 jcode.pl 改造版による EUC, JIS, Shift-JIS のコード変換で、半角カナへも対応
 http アドレスは、アクセスしてチェック
 PC-VAN もどきの外観
 書き込まれると登録されたメンバーへメールする
ってとこかなぁ。

日本語の取り扱いについてもごらんください。

同じような掲示板 を作っている方もいらっしゃったりしますねぇ(^^;;;
コメント機能が本家 pcvan より使いやすそうです。チャットがとってもすごいです!

OSLもどき(ファイルアップローダー)

PC-VAN OSL(Online Software Library) もどきも作ってみました。 ファイルアップローダーといわれたりるものです。手許のファイルをホスト側へアップロードします。
ちょっと変わっているのは、アップロードされたファイルをそのまま保存せずに zip をかけています。 そのままであがるとセキュリティー上の問題が起こる可能性があるのを回避してます。 また、テキストなどの無圧縮のファイルについては、 本来の zip の圧縮しファイル容量を節約するメリットが期待できます。 もっとも、gif とか jpg のような既に圧縮されている画像ファイルなんかだと、 かえって大きくなってしまったりしますけど(^^;;;

圧縮用 gzip の所在
/usr/local/bin/gzip

展開用 gunzip の所在
/usr/local/bin/gunzip

使用しているオプション
-d 展開
-c 出力先は stdout


動かしてみる

osl.cgi の中身  一覧とアップロードをおこなう cgi です。

osl.env の中身  環境設定用のファイルです。

osldl.cgi の中身  ダウンロード数のカウントし osldl.cgi 展開して表示する cgi です。

info/ctr.dat の中身  OSL の # のカウント用ファイルです。

info/osl.dat の中身  OSL のデータのファイルです。

注意点としては、
data/, info/ ディレクトリです。
あらかじめ2つのディレクトリを作成しておきます。
/info/ctr.dat, /info/osl.dat の2つのファイルも作成しておきます。
gif, jpg, html, txt は、そのままブラウザで表示されると思います。 その他の拡張子のファイルは、ブラウザの設定によりますがダウンロードされるとおもいます。 ヘッダーの記述が重要でした。
Content-type: application/octet-stream
Content-Disposition: inline; filename=filename
というヘッダーを出しています。

Content-Disposition: は、 HTTP/1.1(英語), RFC1806(英語) をごらんください。

えらく苦労して、MSIE と Netscape での動作を確認しました。
RFC の例のままでも動作しないのは、おかしいのではないかねぇ。>MSIE
Cookie でも苦労したのだが、MSIE のヘッダーの解釈は...... (^^;;;

ファイルの共有制御 ロックとアンロック

ファイルの共有制御には、flock を使っています。 flock の使い方と誤動作の例を解説してみました。
ファイルの共有制御についての補足

戻る |ホームへ |進む