Кеширования на стороне сервера


// Если существует кешированная версия:
$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>
<html>
<head>
<title>Кешированная страница</title>
<meta charset="utf-8">
</head>
<body>
Эта страница кешируется средствами PHP
</body>
</html>
<?php
  // Получаем содержимое буфера
  $buffer = ob_get_contents();

  // Останов буферизации и вывод буфера
  ob_end_flush();

  // Сохранение кэш-файла с контентом
file_put_contents($cache_file,$buffer);
  // Вывод содержимого, т.к. при буферизации ничего не выводится
print $buffer;
?>

Сначала вышеописанный скрипт проверяет наличие версии страницы в кэше. Если она имеется, читает и выводит её. В противном случае скрипт использует буферизацию вывода для создания версии страницы в кэше. Она сохраняется как файл после использования ob_end_flush() для отображения страницы пользователю.

Подробнее про кеширование в PHP


.