193.34.12.132 - - [20/Oct/2011:12:46:08 +0400] "GET /scripts/fancyzoom.min.js HTTP/1.1" 200 4435 "http://kropus.amarox.ru/" "Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
193.34.12.132 - - [20/Oct/2011:12:46:08 +0400] "GET /bitrix/js/main/core/css/core_window.css?1318570950 HTTP/1.1" 200 44471 "http://kropus.amarox.ru/" "Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
193.34.12.132 - - [20/Oct/2011:12:46:08 +0400] "GET /bitrix/templates/kropus/components/bitrix/menu/kropus/script.js?1315557673 HTTP/1.1" 200 469 "http://kropus.amarox.ru/" "Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
$file_array = file(' ');
function get_log_string()
{
if (feof($fp))
{
return false;
}
$bits='';
for (;!feof($fp) && $bits != "\n";)
{
$bits .= fread($fp, 1);
}
return rtrim($bits, "\n");
}
$pattern = "/(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\] \"(\S+) (.*?) (\S+)\" (\S+) (\S+) (\".*?\") (\".*?\")/"
preg_match ($pattern, $line, $result)
$formated['ip'] = $result [1];
$formated['identity'] = $result [2];
$formated['user'] = $result [3];
$formated['date'] = $result [4];
$formated['time'] = $result [5];
$formated['timezone'] = $result[6];
$formated['method'] = $result [7];
$formated['path'] = $result[8];
$formated['protocol'] = $result[9];
$formated['status'] = $result[10];
$formated['bytes'] = $result[11];
$formated['referer'] = $result[12];
$formated['agent'] = $result[13];
Source: https://habr.com/ru/post/131093/