Привет всем. Прошу помощи. У меня кэширование глушит сайт. Тоесть сайт грузится длительное время, в конечном итоге вообще не открывается. Если убрать кэширование, то сайт выводит бес дизайна.
Вот код:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header("Pragma: no-cache");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Content-Type: text/html; charset=utf-8");
$cache = new cache('cache/');
$cache -> start($_SERVER['PHP_SELF']);
Класс cache:
<?php
class Cache {
private $dir = FALSE;
public function __construct ($dir) {
if(!is_dir(ROOT.$dir) || !is_writable(ROOT.$dir)) {
exit('Директория для кэш-файлов не найдена или нет прав на запись!');
}
$this -> dir = $dir;
}
public function start ($cache) {
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate')) {
header('Content-Encoding: deflate');
}
elseif (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && extension_loaded('zlib')) {
header('Content-Encoding: gzip');
}
elseif (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip')) {
header('Content-Encoding: x-gzip');
}
ob_start('ob_gzhandler', 6);
ob_start();
ob_implicit_flush(0);
$cache_file = ROOT.$this -> dir.md5($cache);
if (file_exists($cache_file) && ($_SERVER['REQUEST_TIME']-filemtime($cache_file)) < 300) {
exit (file_get_contents($cache_file));
}
}
public function end ($cache) {
$cache = ob_get_contents();
ob_end_clean ();
echo $cache;
$cache_file = ROOT.$this -> dir.md5($cache);
$fp = fopen ($cache_file, 'w') or die('Не могу открыть ');
flock($fp, LOCK_EX);
fputs ($fp, $cache);
flock($fp, LOCK_UN);
fclose ($fp);
unset ($cache) ;
}
}
?>
Hameleon, отключи эту хрень, это не кэширование, а чушь. Эта фигня забьёт тебе место на диске при первом же поисковом боте. Она не учитывает параметры строки запроса... Короче, это вредитель, а не кэширование.
14 Мар 2011, 18:12OZ_, ясно. Благодарствую за совет!
А с чем это может быть связано?:
Если убрать кэширование, то сайт выводит бес дизайна.
Hameleon, попробуй в самом начале скрипта добавить
ob_start(); - может быть, где-то заголовки сбиваются.
"Без" пишется с буквой "з".
Hameleon, ))) А ты дизайн то прописал верно? Всмысле путей?)
добавлено спустя 1 минуту:
Кстати попробуй велосипед, вместо нынешнего запроса дизайна сделай так:
Код
?>
<link rel="stylesheet" href="/diz/style.css" type="text/css" />
<?
И код