[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: кэширование
tmt0086
Привет, помогите пожалуйста rolleyes.gif

как сделать кэширование какого либо блока? я вот тут посмотрел как сделать, но получилось, что кэшируется весь сайт. А нужно чтоб блок php один кэшировал.



Спустя 17 минут, 26 секунд (16.06.2010 - 14:42) KaFe написал(а):
хм, я бы лучше кэшировал полученую страницу, меньше гемора ph34r.gif

Спустя 2 минуты, 9 секунд (16.06.2010 - 14:44) tmt0086 написал(а):
KaFe
как бы ты ее кэшировал? мне блок пользователя же не нужно кэшировать

Спустя 17 минут, 52 секунды (16.06.2010 - 15:02) tomash написал(а):
Зачем кэшировать блок PHP????

Спустя 1 минута, 12 секунд (16.06.2010 - 15:03) tmt0086 написал(а):
tomash
ну скажите пожалуйста тогда как сделать? если не отдельный блок sad.gif

Спустя 7 минут, 15 секунд (16.06.2010 - 15:10) Guest написал(а):
user posted image
вот я выделил, что кэшировать надо. у меня пока тока получилось все кэшировать(и терь пользователи видят мой профиль

Спустя 19 минут, 8 секунд (16.06.2010 - 15:29) tomash написал(а):
Если это не Ваш сайт? то придеться парсить исходник

Спустя 2 часа, 20 минут, 40 секунд (16.06.2010 - 17:50) tmt0086 написал(а):
мойtomash

Спустя 5 минут, 14 секунд (16.06.2010 - 17:55) tomash написал(а):
вот когда блок выводите вот и кэшируйте.

Спустя 2 минуты, 58 секунд (16.06.2010 - 17:58) Guest написал(а):
sad.gif ну я незнаю как это сделать.. у меня блоки - отдельные пхп файлы

Спустя 2 минуты (16.06.2010 - 18:00) tomash написал(а):
Ну так вы то что выводите на экран из этих файлов складывай в кэш (в файл)!

Спустя 1 минута, 47 секунд (16.06.2010 - 18:02) tmt0086 написал(а):
tomash
можно пример, или статью какую нибудь..

Спустя 23 минуты, 23 секунды (16.06.2010 - 18:25) tomash написал(а):
Ты просто из тех блоков которые хочешь кэшировать выводи не в броузер а в файл, а скриптом которым все собираешь в кучу проверяй время кэша и если оно вышло запускай скрипт на перестройку файла. И данные ты будешь брать из файлов, а не из скриптов

Спустя 4 часа, 18 минут, 30 секунд (16.06.2010 - 22:44) KaFe написал(а):
Для вас статья http://spectator.ru/technology/php/caching

Спустя 6 часов, 28 минут, 55 секунд (17.06.2010 - 05:13) tmt0086 написал(а):
вот я сделал как здесь http://spectator.ru/technology/php/caching KaFe
и у меня закэшировал один блок huh.gif
вот что вышло
user posted image

Спустя 12 часов, 3 минуты, 56 секунд (17.06.2010 - 17:17) tmt0086 написал(а):
sad.gif ну помогите кто нибудь.. блок закешировать

Спустя 7 минут, 48 секунд (17.06.2010 - 17:25) tomash написал(а):
tmt0086
Так вроде получилось.

Спустя 1 час, 43 секунды (17.06.2010 - 18:25) tmt0086 написал(а):
tomash
так получиться то получилось, но как сделать чтоб это все в шаблоне выводилось, а не чисто один блок

Спустя 50 минут, 52 секунды (17.06.2010 - 19:16) tmt0086 написал(а):
для tomash'a постараюсь объяснить, а может кто еще поможет, что я хочу...

имеется cms'ка в ней блоки в виде php файлов, эти блоки в шаблоне вызываются тегом. И у меня не получается настроить кэширование, т.к. в шаблоне (как я понял) не работает просто это http://spectator.ru/technology/php/caching.. А когда я в блоке php делаю, то у меня в первый раз загружается страница(делается кэш), а когда перезагружаю страницу, то из кэша загружается тока один блок.. а нужно чтоб этот кэш грузился вместе шаблоном

Спустя 53 минуты, 10 секунд (17.06.2010 - 20:09) tmt0086 написал(а):
ну может кто что подскажет?! mad.gif

Спустя 35 минут, 1 секунда (17.06.2010 - 20:44) tomash написал(а):
tmt0086
Ты положил в кэш блок, правильно? правильно! Теперь когда загружаешь шаблон то не формируй закэшированые блоки, а выводи их из файлов куда ты их спрятал!

Спустя 15 часов, 59 минут, 59 секунд (18.06.2010 - 12:44) tmt0086 написал(а):
а может кто нибудь подсказать, можно ли содержимое кэша как бы выводить в php файл, посто в кэшировании которое посоветовали использует
include ("cache/$crc");
и как понимаю, вызывает файл, а нужно чтоб содержимое кэшированого файла как бы вставлял в блок.

Спустя 7 минут, 16 секунд (18.06.2010 - 12:52) tmt0086 написал(а):
вот нашел 4 способа, но не то все..

<?php
readfile("text.txt");
?>

<?php
$OpenData = fopen("text.txt", "r");
echo fread($OpenData, filesize("text.txt"));
fclose($OpenData);
?>

<?php
$OpenData=fopen("text.txt", "r");
fpassthru($OpenData);
fclose($OpenData);
?>

<?php
echo file_get_contents("file.txt");
?>

Спустя 44 минуты, 27 секунд (18.06.2010 - 13:36) tomash написал(а):
$fp = @fopen ("здесь путь к кэшу", "w");
@fwrite ($fp, $cache);
@fclose ($fp);


в переменной кэш Ваш блок

Спустя 6 часов, 13 минут, 31 секунда (18.06.2010 - 19:50) tmt0086 написал(а):
tomash
ну гляди huh.gif
вот весь код кэширующий блок
<?php
$url=$GLOBALS['REQUEST_URI'];
$crc=md5($url);

$modif=time()-@filemtime ("cache/$crc");

if ($modif<600)
{
include ("cache/$crc");
exit();
}

ob_start ();

<
тут содержимое блока>

$cache = ob_get_contents();
ob_end_clean ();
echo $cache;

$fp = @fopen ("cache/$crc", "w");
@fwrite ($fp, $cache);
@fclose ($fp);
?>

что происходит вообще(как я понимаю)
1 проверяет, есть ли кэш вообще
2 смотрит скока ему времени
3 если менше 600сек то выводит блок из кэша
4 если больше то выводит блок и кэширует его

но когда он выводит из файла, там тока один блок отображается! а нужно то чтобы этот блок вставлялся в шаблон blink.gif может есть какой нить кодик, чтоб содержимое считывалось и вставлялось вместо include ("cache/$crc"); rolleyes.gif

Спустя 1 час, 20 минут, 33 секунды (18.06.2010 - 21:10) tomash написал(а):
Вот это тебе надо вставить в твой шаблон или скрипт который собирает шаблон
$url=$GLOBALS['REQUEST_URI'];
$crc=md5($url);
$modif=time()-@filemtime ("cache/$crc");
if ($modif<600)
{
include ("cache/$crc");
}
else
{
здесь мы вызываем скрипт, который формирует блок и кэширует его
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.