| 日時 | メッセージ |
|---|
<form action="bbs.php" method="post">
<p>メッセージ:<br />
<textarea name="msg" rows="5" cols="60"></textarea><br />
<input type="submit" value="送る" />
<input type="reset" value="クリア" /></p>
</form>
<?php
$t = time();
if ($_POST['msg'] != '') {
$f = fopen('bbs.csv', 'a');
fputcsv($f, array($t, $_POST['msg']));
fclose($f);
}
$f = fopen('bbs.csv', 'r');
echo "<table border=\"1\">\n";
echo "<tr><th>日時</th><th>メッセージ</th></tr>\n";
while (($a = fgetcsv($f)) != FALSE) {
if ($t - $a[0] < 60 * 60 * 24) {
echo "<tr><td>", date("Y-m-d H:i:s", $a[0]),
"</td><td>", htmlspecialchars($a[1]), "</td></tr>\n";
}
}
echo "</table>\n";
fclose($f);
?>
あらかじめ bbs.csv という空のファイルを作り,他人に書き込みを許しておきます。
書き込みをすると,bbs.csv というファイルの各行に,書き込み時刻(1970年頭から起算した秒数)とメッセージとがコンマ区切りで入ります。例えば次のようになります:
1249128380,こんにちは 1249128395,ようこそ!
このようなファイルをCSVファイルといいます。CSVは comma-separated values(コンマ区切りの値)の意味です。
このファイルを読み出して,書き込み時刻が1日前より新しいものだけ出力しています。
Last modified: 2009-08-01 21:25:42