Скрипт для выборки из лога строк по запросу.

a531on

Guest
Скрипт для выборки из лога строк по запросу.

Подскажите, как сделать выборку строк из лога посещений ФТП по запросу через веб-интерфейс.
Лог выглядит примерно так:
день недели/дата/ИП адрес/путь к файлу
 

ForJest

- свежая кровь
Ну примерно так
PHP:
<?php
//<Здесь код для оработки запроса>
echo $result;
?>
 

a531on

Guest
Re: Скрипт для выборки из лога строк по запросу.

Автор оригинала: a531on
Подскажите, как сделать выборку строк из лога посещений ФТП по запросу через веб-интерфейс.
Лог выглядит примерно так:
день недели/дата/ИП адрес/путь к файлу
Критерии отбора: Дата, IP-адрес
 

Ринат

Новичок
Re: Re: Скрипт для выборки из лога строк по запросу.

читаешь лог в массив file, далее проходишься циклом по массиву делишь строку и смотришь дату и ip по желанию explode
все вроде ясно, или готовый код нужен =)
 

a531on

Guest
Re: Re: Re: Скрипт для выборки из лога строк по запросу.

Автор оригинала: Ринат
читаешь лог в массив file, далее проходишься циклом по массиву делишь строку и смотришь дату и ip по желанию explode
все вроде ясно, или готовый код нужен =)
Дело в том, что я еще учусь, причем сам, до этого ни на чем не программил...
 

Ринат

Новичок
ок вот код, но в сл раз почитай ман сначала, ничего сложного нет, постарайся сделать, если что не получается, спроси лучше
PHP:
$handle = "file.log";
$search_date = '12.12.2005';
$new_array = array();
//читаем файл в массив функцией file
if (file ($handle )) {
$log = file($handle);
//проходим по массиву циклом foreach
foreach ($log as $k=>$v) {
	//делим строку , загоняем  в массив
	$part_array = explode('/', $v);
	//проверяем дату - 1 элемент массива
	if ($part_array[1] == $search_date) {
	  $new_array[] = $v;
	}
    }
}
var_dump($new_array);
код примерный, по себя подгонишь, думаю смысл понятен будет
 

a531on

Guest
Автор оригинала: Ринат
ок вот код, но в сл раз почитай ман сначала, ничего сложного нет, постарайся сделать, если что не получается, спроси лучше
PHP:
$handle = "file.log";
$search_date = '12.12.2005';
$new_array = array();
//читаем файл в массив функцией file
if (file ($handle )) {
$log = file($handle);
//проходим по массиву циклом foreach
foreach ($log as $k=>$v) {
	//делим строку , загоняем  в массив
	$part_array = explode('/', $v);
	//проверяем дату - 1 элемент массива
	if ($part_array[1] == $search_date) {
	  $new_array[] = $v;
	}
    }
}
var_dump($new_array);
код примерный, по себя подгонишь, думаю смысл понятен будет
Спасибо, будем пробовать...
 

Jenius

Guest
<?php

$handle = "file.log";

if (file_exists($handle ))
{
$log = file($handle);
foreach ($log as $k=>$v)
{
$part_array = explode('/', $v);
}
$num = count($part_array);
for($i=0; $i<=$num; $i++)
{
echo $part_array[$i].'<br>';
}
}else{echo "Error";}
?>

Кажись так.
 

a531on

Guest
Что то не получается:( Файл большой, система при загрузке сценария долго думает, прощу говоря, виснет. Как сделать построчное чтение файла, а не запихивать его в массив целиком?
 
Сверху