ラジオ用チャット
本文無しでsubmitするとリロードになります。
/* ログ記録最大行、表示最大行、ファイル名、タグ使用 */
$logmax=150;
$max=150;
$logfile="chatlog.txt";
$tag=0;
if(phpversion()<"4.1.0") {
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VERS;
}
$lines = file($logfile); //ファイルを配列に読み込む
//本文がある場合書き込む
if ($_POST['message']){
$time = date("H:i:s");
if ($_POST['message'] == "dustall"){
$fp = fopen ($logfile , "w") or die($logfile."が開けません");
$message = "\n [$time] 流れました。
";
fputs ($fp, $message);
fclose ($fp);
} elseif ($message = $_POST['message']){
$name = $_POST['name'];
if(!$tag){//タグ不可なら
$message = htmlspecialchars ($message);
$name = htmlspecialchars ($name);
$message = str_replace("&", "&", $message);
}
if(get_magic_quotes_gpc()){ //\がつくなら取る
$message = stripslashes($message);
$name = stripslashes($name);
}
$message = "\n[$time] $name : $message
";
$fp = fopen ($logfile , "w") or die($logfile."が開けません");
fputs ($fp, $message); //先頭に書き込む
for($i = 0; $i < $logmax; $i++) //いままでの分を追記
fputs($fp, $lines[$i]);
fclose ($fp); //ファイルクローズ
echo $message; //すぐ表示
}
}
for($i = 0; $i <= $max; $i++)
echo $lines[$i];
?>