性能は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 より使いやすそうです。チャットがとってもすごいです!
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 の使い方と誤動作の例を解説してみました。
ファイルの共有制御についての補足