Открытие чтение файла с fseek

AKAPE

Новичок
Открытие чтение файла с fseek

Добрый день. Ради теста делаю чат-демон на php.

while(1)
{
...
}
sleep(1);

в этом лупе каждый раз проверяеться время изменения файла с сообщениями и если оно изменилось, тогда открываем его, перекидываем поинтер на конец файла который был сохранен в предыдущем цикле, читаем с того места вск до feof прочитаное обрабатываем и разсылаем всем пользователяс, приписываем к списку всех сообщений (чтобы вошедшему пользователю показать какие-то сообщения) и делаем проверку, если сообщений стало больше чем 800 - запускаем функцию, которая открывает файл, удаляет все сообющения кроме последних 400-от, сохраняет позицию поинтера конца файла и закрывает, ... Все прелестно, такую очистку может делать и НЕ демон (чат может работать с демоном и без него). Как отловить в цикле покуда именно произошла очистка? Ведь если помните - рассылаються только ново-прочитаные сообщения.
 

ForJest

- свежая кровь
Заведи ещё один файлик, в котором будешь указывать откуда произошла очистка.
 

AKAPE

Новичок
извиняюсь, видмо не так выразился, мне интересно КАК всетаки индефицировать то место. Хранить всю последнюю строчку целиком и перечитывать файл если его размер стал меньше? как-то некрасиво.
 

SiMM

Новичок
А зачем вообще делать очистку? Если посещаемость небольшая (бывают временные интервалы, когда в чате никого нет) - её можно производить по факту выхода последнего чатланина.
 

AKAPE

Новичок
чат не только "неприрывный", но и "рефрешный" :) каждый раз открывать метровые файлы при коннекте каждого юзера и искать там его последнее сообщение - ресурсоймко. посещаемость - "планируется быть большая". Пока все это тест и хочеться сделать с умом.
 

SiMM

Новичок
Автор оригинала: AKAPE
каждый раз открывать метровые файлы при коннекте каждого юзера и искать там его последнее сообщение - ресурсоймко.
Я что-то не пойму, какая связь между открытием файла при помощи fopen'а и позиционированием при помощи fseek'а и ресурсоёмкостью? Зачем вообще искать последнее сообщение пользователей во всём файле, когда известно, что оно находится дальше определённой позиции?
fopen не читает файл в память.
 

neko

tеam neko
AKAPE

делать новый файл каждый час и ничего не чистить

чат может работать с демоном и без него
так и говори я делаю 2 разных чата
решения отличаются настолько сильно, что нет смысла в них упихивать одинаковую методику хранения
 
Сверху