Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрет кэширования браузером.
 
 автор: Adamant   (14.02.2008 в 21:08)   письмо автору
 
 

Проверяю работу скрипта на локальном компе.
Имеется ссылка на html - странице на файл с данными. При ее открытии даные сохраняются в кэше браузера. В результате работы скрипта вышеупомянутый файл перезаписывается новыми данными. При его повторном открытие посредством этой же ссылки, данные в файле не изменяются ( хотя открывая сам файл в этом можно убедиться ), перезагрузка страницы со ссылкой ничего не дает. Только если вручную очистить кэш браузера, страница отображающая данные из файла обновляется.
Что можете посоветовать, кроме хирургического вмешательства в мою темную голову, для выхода из этой ситуации.

   
 
 автор: moonfox   (14.02.2008 в 22:13)   письмо автору
 
   для: Adamant   (14.02.2008 в 21:08)
 

можно попролбыввать выдавать ваши данные например через
echo
файл сохранился в кеш а на хосте файл новый ваша страница ещет этот файл кеше но при обращении к скрипту выдавать значения через echo

   
 
 автор: Freddie_X   (14.02.2008 в 22:18)   письмо автору
 
   для: moonfox   (14.02.2008 в 22:13)
 

Попробуйте так:
<?php
header
("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT"); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache");
?>

   
 
 автор: Adamant   (14.02.2008 в 22:36)   письмо автору
 
   для: Freddie_X   (14.02.2008 в 22:18)
 

А ведь пробовал делать запрет именно так, но пока заголовки не вставил в оба файла,( в том где записывается в файл и в файл генерирующий страницу со ссылкой) результата не получил. Так что спасибо вам Freddie_X за то что навели на мысль.

   
 
 автор: Adamant   (17.02.2008 в 21:13)   письмо автору
 
   для: Adamant   (14.02.2008 в 22:36)
 

Если кому-то будет интересно. Сие делается еще проще, без хидеров. Просто в якорь ссылки к названию файла добавляется ? и все работае на ура без кэширования браузером!
Например:
<a href="text.txt?">Некий текстовый файл</a>

   
 
 автор: Adamant   (18.02.2008 в 19:07)   письмо автору
 
   для: Adamant   (17.02.2008 в 21:13)
 

Хочу поправиться. Браузер на самом деле кэширует файл , как в примере выше : text.txt,
но кэширует именно его , а для браузера адрес ссылки text.txt и text.txt? совершенно разные вещи. Хотя при обращении браузером к файлу с "параметром" (text.txt?) открывается этот же файл (если можно так выразится, в данном случае мы "дезинформируем" браузер).
Специалистов прошу меня поправить если я понимаю неправильно.
С уважением Вячеслав.

   
 
 автор: mihdan   (19.02.2008 в 10:28)   письмо автору
 
   для: Adamant   (18.02.2008 в 19:07)
 


<?
echo '<a href="text.txt?rnd='.time().'">Некий текстовый файл</a>';
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования