Помощь Использование кеширования. API

Тема в разделе "DLE", создана пользователем Sunday, 29 май 2013.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    758
    Симпатии:
    326
    DLE 9.7

    Тяну с одного сайта некоторый HTML код, который нужно кешировать.
    Пишу:
    PHP:
    $dle_api->save_to_cache ('test',$text);
    Всё ок, файл кеша создается.

    Чтобы проверить, как работает, пишу:
    PHP:
    $data $dle_api->load_from_cache ('test');
    echo 
    $data;
    После запуска файл кеша просто удаляется o_O И соответственно ничего не выводится.

    В каком месте я туплю?
     
  2. wendel

    wendel Создатель

    Регистр.:
    6 ноя 2011
    Сообщения:
    12
    Симпатии:
    7
    PHP:
    function load_from_cache ($fname$timeout=300$type 'text')
            {
                
    $filename $fname.".tmp";
                if (!
    file_exists($this->cache_dir.$filename)) return false;
                if ((
    filemtime($this->cache_dir.$filename)) < (time()-$timeout)) return false;
     
                if (
    $type=='text')
                {
                    return 
    file_get_contents($this->cache_dir.$filename);
                }
                else
                {
                    return 
    unserialize(file_get_contents($this->cache_dir.$filename));
                }
            }
    Исходный код функции, про удаление файла ни строчки, дайте полный код, может в другом месте проблема.
     
  3. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    758
    Симпатии:
    326
    Там простейший код. В кеш записывается всё нормально. Чтобы проверить, как выводит из кеша, я вообще убираю всё и пишу только вывод

    PHP:
    include ('engine/api/api.class.php');
    $data $dle_api->load_from_cache ('test');
    echo 
    $data;
    Хотя параметры type и timeout не обязательны, с ними я тоже пробовал. Никаких отличий.
    Попробую пробить ситуацию на оф. форуме
     
    Горбушка нравится это.