вопрос
Здравствуйте, подскажите пожалуйста! Как сделать очистку кеша, конкретно в модуле по времени, не зависимо от настроек движка?
Мне нужно что бы кеш чистился к примеру: каждые 3 часа!
Мне нужно что бы кеш чистился к примеру: каждые 3 часа!
$moduleName = dle_cache('cachename_', $config['skin'], true);
if( !$moduleName) {
///////////////// КОД МОДУЛЯ /////////////////////
create_cache('cachename_', $moduleName, $config['skin'], true );
}
echo $moduleName;
В самый конец файла ( перед
?>) вставьте
function get_cache($name, $id)Потом замените это
{
global $config, $is_logged, $member_id;
if( $is_logged ) $end_file = $member_id['user_group'];
else $end_file = "0";
$id = md5( $id );
$name = $name . "_" . $id . "_" . $end_file;
$buffer = @file_get_contents( ENGINE_DIR . "/cache/" . $name . ".tmp" );
if ( $buffer !== false )
{
$file_date = @filemtime( ENGINE_DIR . "/cache/" . $name . ".tmp" );
$file_date = time()-$file_date;
if ( $file_date > ( 180 * 60 ) )
{
$buffer = false;
@unlink( ENGINE_DIR . "/cache/" . $name . ".tmp" );
}
return $buffer;
}
else
return $buffer;
}
dle_cache('cachename_', $config['skin'], true);на это
get_cache( "cachename_", $config['skin']);