0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

簡易掲示版

Last updated at Posted at 2013-05-29

概要

  • シンプルな掲示板です
  • ログイン不要
  • DBを使わずにファイルにデータを保存します
  • 投稿者の名前を自由に付けられます

サンプルコード

ファイルを読み込む

処理概要

  • $dataFileにデータファイルのファイルパスを代入
  • $postsに$dataFileを配列に変換して代入する
    • 配列の各要素の最後から改行文字を取り除く

言語リファレンス

  • file
    • ファイル全体を読み込んで配列に格納する
index.php
<?php
// ファイルの内容を配列に取り込みます。
// この例ではHTTPを通してURL上のHTMLソースを取得します。
$lines = file('http://www.example.com/');

// 配列をループしてHTMLをHTMLソースとして表示し、行番号もつけます。
foreach ($lines as $line_num => $line) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

// 他の例として、Webページを文字列に取り込みます。file_get_contents()も参照してください。
$html = implode('', file('http://www.example.com/'));

// オプションのパラメータは PHP 5 以降で使用できます
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

投稿データを表示する

処理概要

  • 配列$postsがあれば、表示処理、無ければ、「まだ投稿はありません。」を表示
  • 表示処理
    • $postsを反復処理。$postに代入
    • HTML エンティティに変換して表示

言語リファレンス

  • if
  • echo
  • 1 つ以上の文字列を出力する
  • count
  • 変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数える
  • foreach
  • 配列及びオブジェクトの反復処理
  • htmlspecialchars
  • 特殊文字を HTML エンティティに変換する
  • 文字の中には HTML において特殊な意味を持つものがあり、 それらの本来の値を表示したければ HTML の表現形式に変換してやらなければなりません。 この関数は、これらの変換を行った結果の文字列を返します。
index.php
        <?php if () : ?>
        <?php foreach () : ?>
        <?php endforeach; ?>
        <?php else : ?>
        <?php endif; ?>

投稿データを追加、データを書き込む

処理概要

  • 投稿されたかどうかをREQUEST_METHODとmessageが空かどうかで判別します。
  • 投稿されたデータを書き込み用配列にunshiftで格納します。
  • $fpに書き込みモードでファイルを代入
  • $fpに$posts配列を改行コードを区切り文字にテキスト化して書き込み

言語リファレンス

投稿件数を表示する

処理概要

  • 投稿一覧の末尾にcountを使って投稿件数も表示します。

ユーザー名も投稿させる

処理概要

  • "user"という名前で名前用の入力フィールドを用意します。
  • 名前もデータに追加します。
  • データの区切り文字は"|"で$newDataに代入
  • 名前が入力されなかったときの処理「名無しさん」も書きます。

言語リファレンス

日付も表示させる

概要

  • 投稿された日付をdateで取得して、文字列の末尾に追加する。
  • フォーマットは"Y-m-d H:i:s"
  • 投稿日時をHTMLに表示します。変数は$posted

言語リファレンス

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?