Если клиенты кэшируют выходные данные вашего PHP, тогда у вас гораздо большая проблема, чем вы думали!
erenon частично прав в правильной настройке инструкций кэширования, однако, если вы предоставите ему дату истечения срока действия кэша, вы обнаружите, что Excel часто не сможет открыть документ (если к нему обращаются через MSIE). Лучшее решение - установить время истечения всего на несколько секунд в будущем и попросить прокси-серверы не кэшировать его:
if ($_SERVER['SERVER_PROTOCOL']=='HTTP/1.0') {
header("Expires: " . date('r', time()+3));
} else {
header("Cache-Control: max-age=3, private, must-revalidate");
}
В то время как HTTP / 1.1 будет поддерживать заголовок Expires, для того, чтобы он вел себя так, как ожидалось, часы клиента должны синхронизироваться с часами сервера.
(обратите внимание, что date () выдает предупреждения, если вы не установите часовой пояс)
С * * +1010