1.05.13, 00:29
1 комментарий
  DLE Хаки

Автоочистка кэша в DLE

Хак позволяющий автоматически очищать кэш на всех версиях DLE.
Так же это своего рода учебник для начинающих.

Для начала сама установка:

Открыть файл /engine/init.php
После строки:

if ($cron) include_once ENGINE_DIR . '/modules/cron.php';



Вставить:
$clear_cache_time = get_vars( "clear_cache" );
if($clear_cache_time<=$_TIME){
    $scache_time = 24;
    clear_cache();
    set_vars("clear_cache", $_TIME+$scache_time*60*60);
}


Сохранить и закрыть. Все, хак установлен.


Теперь рассмотрим каждую строчку отдельно:

$clear_cache_time = get_vars( "clear_cache" );

Этой строкой мы извлекаем время когда следует очищать кэш. При первом запуске - кэш будет очищен и будет задано значение этой переменной.

if($clear_cache_time<=$_TIME){

Проверяем, если время очистки кэша меньше настоящего времени, то выполняем то что в скобках.

$scache_time = 24;

Для простоты частоту обновления кеша вынес в переменную, в моем случае это 24 часа. Почему - опишу ниже.

clear_cache();

Собственно чистим сам кэш.

set_vars("clear_cache", $_TIME+$scache_time*60*60);

Задаем время следующей очистки кэша и сохраняем. Все это делает за нас функция, мы ей даем только значение переменных.
clear_cache - имя файла системного кэша, где хранится передаваемое значение.

$_TIME+$scache_time*60*60 - к настоящему (нынешнему) времени прибавляем интервал обновления кеша. Системное время хранится в секундах, поэтому чтобы получить часы, нам нужно наш интервал умножить на 60 секунд и на 60 минут, в итоге мы получаем 24 часа, где количество часов задается в переменной.

Если прописать строку:
set_vars("clear_cache", $_TIME+$scache_time*60);

То кэш будет очищаться раз в 24 минуты.
}


Конец условия ifшаблоны для dle 11.2

Комментарии

  1. Даниил44 20 ноября 2013 12:51                    

    Попробовал этот скрипт. Спасибо, все работает, но есть вопрос. Если очищать кэш вручную из админ панели, то он очищается до 0. При работе же этого скрипта очищается до 300 с лишним кБ. Почему так?

Напишите своё мнение