Paranoiac
Новичок
несколько вопросов по чату
Заранее прошу извенения и модераторов за большой кусок кода но иначе не объяснить
....
$text='';
$_POST['new_msg']=chop($_POST['new_msg']);
if($_POST['new_msg']!=='')
{
$fp = fopen("msg.txt", "a+");
$text="".date('H:i')." ".$_SESSION['Login']." ".$_POST['new_msg']." ".$_POST['room']."\n";
$fw = fwrite($fp, $text); fclose($fp);
$_POST['new_msg']='';
}
<body>
....
<SCRIPT>
clear_chat();
<?
$file_array = file("msg.txt");
$count=count($file_array);
$num=20;
if ($count>$num)
{
for ($i=($count-$num); $i<$count; $i++)
{
$str = $str.$file_array[$i];
$str=ereg_replace("\r\n","\n",$str);
}
$fp=fopen("msg.txt","w");
fwrite($fp,$str);
fclose($fp);
}
$file_array=file("msg.txt");
$count=count($file_array);
for ($i=0; $i<$count; $i++)
{
$file_array[$i]=chop($file_array[$i]);
?>
dmessage( ** , ** , *** , <? print $file_array[$i]; ?>);
<?
}
?>
showmsg();
</SCRIPT>
.....
дело в следующем пока не дошло до связки удаления из файла сообщений если их стало >20
все работает нормально, а как начинает выполняться if ($count>$num) эхплорер начинает глючить и пишет синтаксическая ошибка в стоке такой то.
Подскажите в чем дело??
И еще кто подскажет в файле пишеться в строку следующие
time login mesage(может быть с пробелами) room,
как эту строку обработать и засунуть в массив типа $fff['time'], $fff['login'] и так далее
Заранее прошу извенения и модераторов за большой кусок кода но иначе не объяснить
....
$text='';
$_POST['new_msg']=chop($_POST['new_msg']);
if($_POST['new_msg']!=='')
{
$fp = fopen("msg.txt", "a+");
$text="".date('H:i')." ".$_SESSION['Login']." ".$_POST['new_msg']." ".$_POST['room']."\n";
$fw = fwrite($fp, $text); fclose($fp);
$_POST['new_msg']='';
}
<body>
....
<SCRIPT>
clear_chat();
<?
$file_array = file("msg.txt");
$count=count($file_array);
$num=20;
if ($count>$num)
{
for ($i=($count-$num); $i<$count; $i++)
{
$str = $str.$file_array[$i];
$str=ereg_replace("\r\n","\n",$str);
}
$fp=fopen("msg.txt","w");
fwrite($fp,$str);
fclose($fp);
}
$file_array=file("msg.txt");
$count=count($file_array);
for ($i=0; $i<$count; $i++)
{
$file_array[$i]=chop($file_array[$i]);
?>
dmessage( ** , ** , *** , <? print $file_array[$i]; ?>);
<?
}
?>
showmsg();
</SCRIPT>
.....
дело в следующем пока не дошло до связки удаления из файла сообщений если их стало >20
все работает нормально, а как начинает выполняться if ($count>$num) эхплорер начинает глючить и пишет синтаксическая ошибка в стоке такой то.
Подскажите в чем дело??
И еще кто подскажет в файле пишеться в строку следующие
time login mesage(может быть с пробелами) room,
как эту строку обработать и засунуть в массив типа $fff['time'], $fff['login'] и так далее