AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

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


// Если существует кэшированная версия:
$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=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


.

© Copyright 2008- by KDG



Rambler's Top100