image/benilogo.gif掲示板の作り方について


PHP の 掲示板 実験の2
実験 1 からの変更
変更改造点
  1. なるべく html 文の中に php 文を書くようにする。
  2. 変数は 直接 受け取るのではなくスーパーグローバル配列 $_POST['変数名'] で受け取るようにする。
  3. 表示文字列の中に html tag があった場合 tag として出力してしまうのを回避
  4. 改行コードの問題 対策 改行コードの変換

  5. ファイルへの入出力
    ここの考え方。 いろいろな方法があるので悩むところです。
    1. 入力された データー をどんな形でファイルへ出力するのか? ファイルフォーマット
    2. いづれにせよ掲示板だから、過去のメッセージデーターを全て表示しなければならない。
    3. 表示する順番は?  最新データーが先頭にくるほうが見易いと思う。
    案 1
    1. 入力されたデーターを一行として csv のカンマ区切りに加工する。
    2. ファイルの最後尾に追加する。
    3. 巻き戻し
    4. 一気に 配列に読み込む
    5. 配列を表示

    しかしこの場合途中の一件のデーターを削除する場合はどうするのだろう? 
    案 2
    1. 一括してデーターを配列に読み込む
    2. "w" で fopen する。(書き込みモード)
    3. 入力されたデーターを一行として csv のカンマ区切りに加工する。
    4. 入力されたデーターを一行書き込む
    5. 配列データーを加工 (削除する場合メモリー中の操作で済む)
    6. 加工した配列データーを追加書き込みする。

    これも一長一短あって、 2 の"w" でオープンしたとき、障害が発生したらデーターはすべて無くなってしまう可能性がある。
    案 3
    ならば 1 と 2 をいっしょにして バックアップ(ジャーナル)を取る というのはどうだろう? journal
    1. 入力されたデーターを一行として csv のカンマ区切りに加工する。
    2. ジャーナルファイルの最後尾に追加する。
    3. あとは 2 の方法で メッセージファイルに追加する。
    4. 削除されたデーターは削除区分を付けて ジャーナルファイルに出力する。
      ジャーナルファイルのデーターは削除されないで削除区分が付いたデーターが追加される。

    この方法ならば 障害が発生してメッセージファイルがダメージを受けても ジャーナルファイルから復元可能である。











| 一つ前に戻る |

2005/06/30 start ********* Last Update 2006/11/13 11:37 JST

(C) Y.Kondou,2005,2006 All Rights, Reserved.
その他、お気づきの点がありましたら連絡先はこちらから