Собственно имеется файл со строками:
Цитата:[07:07:59.503] [SomeBody {123445}:123] [Something {3213}] [Here you are] [oO Kill:0 {123df}] ()
В этот файл постоянно(порой по 5-10 строк в секунду) сторонняя программа пишет подобные строки.
Задача прочитать, обработать и выдать результат проанализировав текст.
На данный момент чтение из файла реализовано как:
PHP:
скопировать код в буфер обмена
$handle = fopen($file,'r'); do
{
if($string) $data = ParsString($string);
if(!empty($data)) { /* Добавляем текст */ } if(!$string) delay($config['timeout']);
}
while(true);
Нет, оно не падает и етк. Вопрос лишь в том, что я совсем не уверен в разумности такого метода безостановочного чтения. Неужели не существует метода проверить наличия новой строки не вызывая нагрузку, которая превзойдет постоянное повторное чтение?
Пробовал с filesize, но как результат увеличение времени обработки в 10 раз, что не приемлемо.
Feof в моем случае почему-то по достижению конца единожды попросту переставал работать.
Собственно 2 вопроса:
1) Может есть более разумный способ читать данные из файла?
2) Каким образом на ваш взгляд можно удобнее и быстрее разбирать указанную строку на составляющие?
Так же заметил особенность при такой реализации - оно порой попросту пропускает последн(ие)юю строку, если одновременно много записалось.