如何强制刷新忽略缓存的数据(如果有的话)

时间:2013-06-18 09:15:16

标签: php codeigniter caching codeigniter-2

让我解释一下这个问题的必要性。我有一个页面,用户可以上传他的个人资料图片,如果他需要更改它。在提交该表格时,我想向他展示他的个人资料页面。

但问题是这个,他的旧形象和他上传的新个人资料图片以同名名称存储。相同的扩展(这是必需的,我不能改变这个我不会有问题,如果我改变了新图像的名称)

因此,当他被重定向到他的个人资料页面时,除非用户按Ctrl + F5,否则仍会显示旧图像。那么有什么方法可以解决这个问题吗?

P.S:我知道img src方法上的随机查询字符串。但我不想要,因为它总是从服务器获取图像。我只是希望浏览器不要仅在此特定请求上缓存图像(例如,在图像上载后重定向的功能中设置状态标题)。我正在使用Codeigniter,PHP

1 个答案:

答案 0 :(得分:0)

尝试使用$this->output->set_header();图片。

From the docs

  

允许您手动设置服务器标头,输出类将在输出最终渲染显示时为您发送。

$this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', $last_update).' GMT');
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->output->set_header("Cache-Control: post-check=0, pre-check=0");