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

Php 如何使刷新强制忽略缓存的数据(如果有),php,codeigniter,caching,codeigniter-2,Php,Codeigniter,Caching,Codeigniter 2,让我解释一下这一点的必要性。我有一个页面,用户可以上传他的个人资料图片,如果他需要改变它。在提交该表格时,我将向他展示他的个人资料页 但问题是,他的旧个人资料图像和上传的新个人资料图像都以相同的名称和相同的扩展名存储。这是必需的,我不能更改,否则如果我更改了新图像的名称,我就不会有问题 因此,当他被重定向到他的个人资料页面时,除非用户点击Ctrl+F5,否则仍会显示旧图像。有什么办法可以解决这个问题吗 另外:我知道关于img src方法的abt随机查询字符串。但我不希望这样,因为它将始终从服务器

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

但问题是,他的旧个人资料图像和上传的新个人资料图像都以相同的名称和相同的扩展名存储。这是必需的,我不能更改,否则如果我更改了新图像的名称,我就不会有问题

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

另外:我知道关于img src方法的abt随机查询字符串。但我不希望这样,因为它将始终从服务器获取图像。我只是希望浏览器不要只在这个特定的请求上缓存图像。例如,在函数中设置状态头,在图像上传后重定向。我正在使用Codeigniter,PHP

试试$this->output->set_头;为了形象

:

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


我的构造函数$this->set_header'Expires:Sat,1997年7月26日05:00:00 GMT'中已经有此代码$此->设置_标题“缓存控制:无缓存,无存储,必须重新验证,最大年龄=0”$此->设置_头'Cache-Control:post-check=0,pre-check=0',FALSE$此->设置_标题“Pragma:no cache”;您需要为图像而不是页面发送这些标题。图像是单独从浏览器请求的,图像的缓存控制与其中一个页面无关。我没有使用$this->output,因为这段代码在我的my_output类中:如果你不使用PHP生成图像,你可能需要编辑服务器配置。在apache2中,默认值是000或类似的。你能给我指一个url吗?我可以在那里读到更多关于这种方法的信息。你说:
$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");