Как очистить кэш используя PHP - PullRequest
1 голос
/ 06 октября 2011

Я пытаюсь очистить кэш браузера, используя PHP

вот мой код

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Content-Type: application/xml; charset=utf-8");

этот код не работает, может кто-нибудь иметь представление.

спасибо заранее

Ответы [ 4 ]

5 голосов
/ 06 октября 2011

Вы не можете очистить кеш со стороны сервера, только дать указание браузеру не делать больше кеширования.

Используемые вами заголовки будут работать - они скажут браузеру не кэшировать только что отправленный вами контент. Однако, если браузер уже имеет кэшированную версию страницы, он не будет отправлять запрос и не будет получать заданные вами заголовки, поэтому он не будет знать, что нужно отказаться от кэшированной версии.

Нажмите CTRL + F5, чтобы браузер обновил содержимое. После этого вы должны получить ожидаемое поведение.

2 голосов
/ 06 октября 2011

Вы не можете очистить кэш локального браузера, используя PHP.Вы можете удалить только те сеансы / файлы cookie, которые есть у пользователя на веб-сайте, на котором выполняется сценарий PHP.

1 голос
/ 17 июня 2012

Пожалуйста, добавьте этот код на свою страницу php

<?php
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
1 голос
/ 06 октября 2011

Мы используем это в производственной среде, чтобы пользователи не могли просматривать аутентифицированные страницы после выхода из системы, нажав в браузере (он находится в AppController::beforeFilter()):

// disable local browser cache for authenticated pages (so user can't press back after logging out)
if ($this->Auth->user()) {
    $this->header("Cache-Control: no-cache, no-store, must-revalidate"); // 'no-store' is the key
    $this->header("Expires: Mon, 1 Jan 2001 00:00:00 GMT"); // date in the past
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...