<?phpСначала вышеописанный скрипт проверяет наличие существования версии странички в кэше, и, если она имеется, скрипт читает и выводит её. В противном случае, он использует буферизацию вывода для создания версии страницы в кэше. Она сохраняется как файл, после использования ob_end_flush() для отображения страницы пользователю.
// Если существует кэшированная версия:
$cache_file=substr(__FILE__,0,-3).'.cch';
if (file_exists( $cache_file ) &&
date('Y-m-d',filemtime($cache_file))==
date("Y-m-d", mktime(0, 0, 0, date("m") , date("d"), date("Y")))){
readfile($cache_file);
exit;}
// Начинаем буферизацию вывода
ob_start(); ?>
// Выводим HTML - код
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Кэшированная страница</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
Эта страница кэшируется средствами PHP
</body>
</html>
<?php
// Получаем содержимое буфера
$buffer = ob_get_contents();
// Останов буферирования и вывод буфера
ob_end_flush();
// Сохранение кэш-файла с контентом
file_put_contents($cache_file,$buffer);
// вывод содержимого, т.к. при буферизации ничего не выводиться.
print $buffer;
?>Скопировать в буфер
Подробнее про кеширование в PHP
© Copyright 2008-2012 by KDG