<?php
/**
Класс для кэширования данных во временной папке.
По сути является костылем при отсутствии встроенного в php механизма кэширования.
*/
class tmp_cache{


function get($key)
{
$path = self::path($key);

// чтение данных из файла
if (!$content = @file_get_contents($path))return false;
// разбор данных
if (!$data = @unserialize($content))return false;
// проверка актуальности данных
if ($data['actuality'] < TIME)
{
unlink($path);
return false;
}


return $data['data'];
}


function set($key, $data, $ttl)
{
$path = self::path($key);

$data2['data'] = $data;
$data2['actuality'] = TIME + $ttl;

return file_put_contents($path, serialize($data2));
}

// получение пути к файлу кэша по ключу
static function path($key)
{
//return TEMP.'/cache.'.md5($key).'.dat';
return TEMP.'/cache.'.urlencode($key).'.dat';
}

}
?>
