Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Есть код, сохраняющий лог обращений к странице:

#запись логов начало

$ra = $_SERVER['REMOTE_ADDR'];

$hxff = $_SERVER['HTTP_X_FORWARDED_FOR'];

$hci = $_SERVER['HTTP_CLIENT_IP'];

$log_home = $_SERVER['REQUEST_URI'];

$log_useragent = $_SERVER['HTTP_USER_AGENT'];

$log_referrer = $_SERVER['HTTP_REFERER'];

$log_language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

/* указать точный путь к папке логов */ $log_file=$_SERVER['HTTP_HOST'].".log"; //создать папку куда пишем логи!!

$col_zap=50000; //строк в файле не более

date_default_timezone_set('Europe/Samara');

$log_date = date("H:i:s d/M/y");

$log_lines = file($log_file);

while(count($log_lines) > $col_zap) array_shift($log_lines);

$log_lines[] = "[".$log_date."] ".$ra." [".$ccode."] (".$hxff."|".$hci.") ".$log_language." | ".$log_useragent."\n".$log_home." | Ref: ".$log_referrer."\r\n";

file_put_contents($log_file, $log_lines);

#echo 'REMOTE_ADDR: ' . $ra . '
HTTP_X_FORWARDED_FOR: ' . $hxff . '
HTTP_CLIENT_IP: ' . $hci;

#запись логов конец

Переменная $col_zap=50000; означает, что максимальная длина лога 50000 строк. Но когда лог разрастается, выдает ошибку 500 и страница с таким кодом не открывается:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in .......

А сам лог (вместо нужных записей) содержит строки: http://joxi.ru/4Ak4vEQcynPdgr?d=1

Вот лог: http:/alfatracker.ru/downloads/test.log

Нужно поправить этот код, чтобы по мере роста лог-файла до 50000 строк, удалялись более ранние строки освобождая место новым записям.

6 лет назад
goldeagle
39 летРоссия
11 лет в сервисе
Был
месяц назад
Выбранный исполнитель
softi-biz
Сергей 
34 годаБеларусь
14 лет в сервисе
Был
5 дней назад
6 лет назад
$5
1 день
WMZ
благодарю
спасибо за работу