Ситуация такая:
Вот я записываю в файл строки с инфой:
CODE:
$text="$text|$name|$email|$date|$time|$today|";
$date=date("d.m.Y");
$time=date("H:i:s");
$today=mktime();
$file = fopen ("file.dat","a");
flock ($file,LOCK_EX);
fwrite ($file, "$text\r\n");
fflush ($file);
flock ($file,LOCK_UN);
fclose ($file);
$date=date("d.m.Y");
$time=date("H:i:s");
$today=mktime();
$file = fopen ("file.dat","a");
flock ($file,LOCK_EX);
fwrite ($file, "$text\r\n");
fflush ($file);
flock ($file,LOCK_UN);
fclose ($file);
В результате в файле file.dat появляются типа такие строки:
CODE:
бла-бла-бла|Николай|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Олег|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Лена|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Света|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Катя|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Олег|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Лена|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Света|nik@mail.ru|20:12:34|35435435|
бла-бла-бла|Катя|nik@mail.ru|20:12:34|35435435|
Дальше я хочу чтобы если постят "бла-бла-бла|Николай|" - то выдавалось сообщение о том, что такая запись уже есть.
Я делаю следующее:
CODE:
$lines=file("file.dat");
$i=count($lines)-1;
$dtf=explode("|",$lines[$i]);
$txtback="$dtf[0]|$dtf[1]|";
$dtb=explode("|",$text);
$txtflud="$dtb[0]|$dtb[1]|";
if (($lastmsg+9)>$today)
if ($txtflud==$txtback)
echo "Кончай флудить!!!";
$i=count($lines)-1;
$dtf=explode("|",$lines[$i]);
$txtback="$dtf[0]|$dtf[1]|";
$dtb=explode("|",$text);
$txtflud="$dtb[0]|$dtb[1]|";
if (($lastmsg+9)>$today)
if ($txtflud==$txtback)
echo "Кончай флудить!!!";
В этом случае читает только самую нижнюю сторку и сравнение идёт только с нею. А мне нужно чтобы сравение шло со всеми строками файла "file.dat". Пробовал делать через так: "for($i=0;$i<count($file);$i++)" но что-то не получается...
Блин, как сделать чтобы сравнение шло по всем сторкам?