Сенсей
Новичок
Сохранить в файле 10 последних запросов поиска - получилось слишком громоздко...
Задача такая - сохранить в файле 10 последних запросов поиска...
Каждый следуюзий запрос для добавляем наверх - а нижний один удаляем.. то есть как бы по кругу что бы было...
вот накатал функцию... но мне она кажется слишком громоздкой для такой задачи.. может есть другие решения?
+ эта фигня еще и не работает как надо... с алгоритмом у меня что то 
Задача такая - сохранить в файле 10 последних запросов поиска...
Каждый следуюзий запрос для добавляем наверх - а нижний один удаляем.. то есть как бы по кругу что бы было...
вот накатал функцию... но мне она кажется слишком громоздкой для такой задачи.. может есть другие решения?
PHP:
function cache_last_queries($res)
{
global $prefix, $dbi, $L;
$data_file = 'data/last_queries.txt';
$old_file_data = file($data_file); # Old file data
$lines_count = count($old_file_data);
$new_file_data[0] = $res; # New file data to write
if ($lines_count > 10)
{
for ($i = 1; $i <= 9; $i++)
{
$new_file_data[$i] = $old_file_data[$i];
}
$data = NULL;
foreach ($new_file_data as $value)
{
$data .= $value."\n";
}
}
else
{
$a = 1;
for ($i = 0; $i < $lines_count; $i++)
{
$new_file_data[$a] = $old_file_data[$i];
$a++;
}
$data = NULL;
foreach ($new_file_data as $value)
{
$data .= $value."\n";
}
}
$f = fopen($data_file, 'w');
flock($f, LOCK_EX);
fwrite($f, $data);
flock($f, LOCK_UN);
fclose($f);
}

