Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Поиск по сайту









Подписка на новости
Ваше имя:
Ваш E-Mail:*
Секретный код:
Секретный код
Повторить:*
Интересное в сети

Sape — это система купли-продажи ссылок
с главных и внутренних страниц сайтов
Форум -> Обо всём... -> Кэширование
Кэширование
antweb Дата: 27.04.2007, в 17:25 | Сообщение №1
antweb
Новичок
Пользователь №: 26
Сообщений: 15

Прописываю в index.php вот так:



PHP - Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

    
include_once("function/classes/class.Cache.inc.php");
    
$cache = new cache;
    
$cache->check_cache("index", 50);

    if (
file_exists("modules/$name/".$file.".php")) {
        include(
"modules/$name/".$file.".php");
    } else {
        include(
"header.php");
        
warning(""._HOMEPROBLEMUSER."", "", "", 1);
        include(
"footer.php");
    }

    
$cached = ob_get_contents();
    
$cache->set_cache($cached);
?>




Вначале добавляю ob_start();



Но не срабатывает куда тока не пихал ):



Вот сам класс:



Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40


<?



if (!defined("FUNC_FILE")) die("Illegal File Access");



class cache

{

   var $cache_name;

   var $cache_dir = "cache";



   function check_cache($filename, $expiry)

   {

      $this->cache_name = $filename;

      if(file_exists("$this->cache_dir/$this->cache_name.html"))

      {

         $modif = time()-@filemtime("$this->cache_dir/$this->cache_name.html");

         if ($modif < $expiry)

         {

            include_once("$this->cache_dir/$this->cache_name.html");

            die();

         }

      }

   }

  

   function set_cache($buffer)

   {

      if (!empty($buffer))

      {

         if($fp = @fopen("$this->cache_dir/$this->cache_name.html","w+"))

         {

            fwrite($fp,$buffer);

            fclose($fp);

         }

      }

      ob_end_flush();

   }

}



?>
AntDima Дата: 27.04.2007, в 19:44 | Сообщение №2
AntDima
Администратор
Пользователь №: 3
Сообщений: 60

Цитата
"$this->cache_dir/$this->cache_name.html"
Кто такой умный класс писал?))

PHP - Код
1
2
3
<?php
$this
->cache_dir.'/'.$this->cache_name.'.html'
?>


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно 27.04.2007 г. в 19:44:38
antweb Дата: 27.04.2007, в 23:39 | Сообщение №3
antweb
Новичок
Пользователь №: 26
Сообщений: 15

Сам класс работает на 100%, я сейчас делаю мини CMS свою и он отлично работает вот код index.php :



PHP - Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php

<?php

// Константы, что бы не вызывали напрямую файлы
define("MODULE_FILE", true);

// Подключаем файл функций
require_once("inc/function.php");

// Запускаем кэширование страницы
ob_start();

// Запускаем таймер
$Timer = new microTimer;
$Timer->start();

// Определяем глобальные переменные
global $StartModule, $mod;

// Делаем ссылки вида index.php?mod=
$mod = (isset($_REQUEST['mod'])) ? $_REQUEST['mod'] : '';
if (
preg_match("/[^a-zA-Z0-9_]/", $mod)) {
    
Header("Location: index.php");
    exit;
}

// Определяем главный файл модуля
if (isset($_GET['file']) || isset($_POST['file'])) {
    
$file = trim(isset($_POST['file']) ? $_POST['file'] : $_GET['file']);
    if (
preg_match("/[^a-zA-Z0-9_]/", $file)) {
        
Header("Location: index.php");
        exit;
    }
} else {
    
$file = "index";
}

// Делаем ссылки 3 уровня
if(isset($_GET['op'])) $op = $_GET['op'];
else
$op = '';

// Читаем файл из кэша
if ($cache)
{
    include_once(
"inc/classes/class.Cache.inc.php");
    
$cache = new cache;
    
$cache->check_cache("$mod", 50);
}

// Выводим $StartModule на главную
if (file_exists("mod/$mod/".$file.".php")) {
    include(
"mod/$mod/".$file.".php");
} else {
    echo
""._ERROR1."";
}

// Останавливаем таймер и выводим результат
echo "\n<!-- Генерация страницы: ".$Timer->stop()." -->";

// Кэширование, сбор данных
if ($cache)
{
    
$cached = ob_get_contents();
    
$cache->set_cache($cached);
}

?>




Твоё экранирование ничего не дало, ниче не собирает ):

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно 27.04.2007 г. в 23:41:50
Sidious Дата: 28.04.2007, в 19:00 | Сообщение №4
Sidious
Администратор
Пользователь №: 42
Сообщений: 125

стесняюсь спросить а папочка cache сушествует и досутпна для записи?

Далее, я так понимаю что функция проверки существования кеш файла работает с unixtime. То есть ваш кеш живет 50 секунд?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно 28.04.2007 г. в 19:03:35
antweb Дата: 30.04.2007, в 05:51 | Сообщение №5
antweb
Новичок
Пользователь №: 26
Сообщений: 15

Папка разумееться существует, создавал её везде по пути к классу, chmod незачем т.к. винда. Да 50 сек.

Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!


Реклама
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

Rambler's Top100

Генерация страницы: 0.259 сек. и 17 запросов к базе данных за 0.021 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.