Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


PHP код: Выделить весь код

<?php 

// Подключаем PEAR::Cache_Lite 
require_once 'Cache/Lite.php'

// Определяем настройки Cache_Lite 
$options = array( 
'cacheDir' => './cache/' 
); 



// Инициализируем Cache_Lite 
$cache = new Cache_Lite($options); 



// Некоторые фиктивные данные для хранения
$id 'MyCache';



// Инициализируем кэш, если страница запрошена впервые
if (!$cache->get($id)) { 
$cache->save('Dummy'$id); 




// Рандомизатор…
$random = array(011); 
shuffle($random); 



// Произвольное обновление кэша
if ($random[0] == 0) { 
$cache->save('Dummy'$id); 




// Получаем время последней модификации кэш-файла
$lastModified filemtime($cache->_file); 



// Выдаём заголовок HTTP Last-Modified
header('Last-Modified: ' gmdate('D, d M Y H:i:s'$lastModified) . ' GMT'); 



// Получаем заголовки запроса клиента – только для Apache
$request getallheaders(); 



if (isset(
$request['If-Modified-Since'])) { 
// Разделяем If-Modified-Since (Netscape < v6 отдаёт их неправильно) 
$modifiedSince explode(';'$request['If-Modified-Since']); 



// Преобразуем запрос клиента If-Modified-Since в таймштамп
$modifiedSince strtotime($modifiedSince[0]); 
} else { 
// Устанавливаем время модификации в ноль
$modifiedSince 0




// Сравниваем время последней модификации контента с кэшем клиента
if ($lastModified <= $modifiedSince) { 
// Разгружаем канал передачи данных!
header('HTTP/1.1 304 Not Modified'); 
exit(); 



echo 
'Сейчас ' gmdate('H:i:s') . ' по Гринвичу<br />'
echo 
'<a href="' $_SERVER['PHP_SELF'] . '">Обновить</a><br />'
?>

Vlad Drakula ты меня откровенно радуешь -lol-

-------
Основы HTML | Конференции


Отправлено: 00:13, 11-05-2005 | #13