|
|
|
| Пытался кэшировать фотографию, выводимую из базы данных, по примеру, приведенному в вашей книге. Ничего не получается. Кэш файлов пустой. Может, кто-нибудь пытался решить подобную проблему? Сообщите, пожалуйста, о результатах и способах.
Может, я в чем-то не прав? Посмотрите, пожалуйста, код.
$res=mysql_query("dbase", "SELECT img FROM foto WHERE id=$id");
$sel=mysql_fetch_row($res);
$image=$sel[0];
// Отправляем заголовки
header("Cache-Control: public, must-revalidate");
header("Vary: Content-ID");
header("Content-ID: ".md5($image));
header("Content-type: image/jpeg");
// Выводим картинку в окно браузера
echo $image;
|
| |
|
|
|
|
|
|
|
для: kievigor
(09.04.2006 в 21:32)
| | Вы подавляете кэширование или наоборт хотите чтобы картинка кэшировалась? | |
|
|
|
|
|
|
|
для: kievigor
(09.04.2006 в 21:32)
| | Хочу, чтобы картинка кэшировалась. | |
|
|
|
|
|
|
|
для: kievigor
(10.04.2006 в 00:29)
| | Тогда как минимум нужно убрать must-revalidate - эта директива имеет обратное действие. Вообще заголовки носят лишь рекомендательный характер, кэшировать документы или нет принимает решение промежуточный прокси-сервер (если он есть) и браузер. | |
|
|
|
|
|
|
|
для: cheops
(10.04.2006 в 00:33)
| | Спасибо. Сейчас попробую. | |
|
|
|
|
|
|
|
для: kievigor
(10.04.2006 в 00:37)
| | Не помогло. | |
|
|
|
|
|
|
|
для: cheops
(10.04.2006 в 00:33)
| | А вообще как я понял must-revalidate не запрещает кэширование, а просто заставляет проверить изменились ли характеристики файла с момента предыдущего кэширования или нет. Может я и не прав, но без must-revalidate все равно не работает. | |
|
|
|
|
|
|
|
для: kievigor
(10.04.2006 в 02:05)
| | Добавьте лучше заголовок
<?php
header("Cache-control: public");
?>
|
must-revalidate - сообщает, что кэшировать документ не рекомендуется - он слишком часто подвергается изменению. Добавьте также заголовок
<?php
header("Expires: Mon, 23 May 2010 02:00:00 GMT");
?>
|
Который сообщит, что документ устареет только в 2010 году. | |
|
|
|
|
|
|
|
для: kievigor
(10.04.2006 в 02:05)
| | Все равно не помогает. | |
|
|
|
|
|
|
|
для: kievigor
(10.04.2006 в 18:24)
| | А у вас кэш в браузере отключён - его не пробить ни чем, только настройкой параметров браузера? | |
|
|
|
|
|
|
|
для: cheops
(10.04.2006 в 23:01)
| | Нет не отключено у меня в браузере кэширование. Кэшируется все кроме картинок взятых из базы и выводимых непосредственно в браузер. Наткнулся на пример кэширования подобной информации в книге “PHP5 практика создания web-сайтов”, это ваша книга. Попробовал и ничего не вышло, как не кэшировались так и не кэшируются. Вот и спрашиваю, может кто с подобными проблемами сталкивался? | |
|
|
|
|
|
|
|
для: kievigor
(11.04.2006 в 01:32)
| | Дело в том, что HTTP-заголовки, управляющие кэшированием, воспринимаются в основном промежуточными прокси-серверами. Почти ни один из браузеров на них не обращает внимание, считая, что настройки пользователя имеют больший приоретет. С браузером бороться при помощи HTTP-заголовков вряд ли получится. | |
|
|
|
|
|
|
|
для: cheops
(11.04.2006 в 14:33)
| | Так не отключено же у меня кэширование в браузере. Все великолепно кэшируется. Может подскажете решение этой проблемы другими способами, буду крайне благодарен. | |
|
|
|