Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,用什么方法发送头来重新验证图像?_Php_Http_Header_Http Headers_Firebug - Fatal编程技术网

在PHP中,用什么方法发送头来重新验证图像?

在PHP中,用什么方法发送头来重新验证图像?,php,http,header,http-headers,firebug,Php,Http,Header,Http Headers,Firebug,我想做什么 我有一个管理页面,我可以在那里更改图像-它们都使用固定的名称,并直接上传到文件系统,但有时当我上传它只是显示一个旧的图像 同时,我不想一次又一次地下载这些页面,因为它会变得又慢又难看 所以我想要的是在我的php中不缓存实际输出的文本,而是对图像进行缓存,使其重新验证创建日期,如果它比存储在缓存中的更新,则下载一个新文本,否则从缓存中加载它 请告知我最适合使用哪种标题,或者如果不可能这样做 谢谢:)一种简单的方法是在图像文件名的末尾附加一个查询字符串,并在每次图像更改时对其进行更改。查

我想做什么

我有一个管理页面,我可以在那里更改图像-它们都使用固定的名称,并直接上传到文件系统,但有时当我上传它只是显示一个旧的图像

同时,我不想一次又一次地下载这些页面,因为它会变得又慢又难看

所以我想要的是在我的php中不缓存实际输出的文本,而是对图像进行缓存,使其重新验证创建日期,如果它比存储在缓存中的更新,则下载一个新文本,否则从缓存中加载它

请告知我最适合使用哪种标题,或者如果不可能这样做


谢谢:)

一种简单的方法是在图像文件名的末尾附加一个查询字符串,并在每次图像更改时对其进行更改。查询字符串被图像文件忽略,因此不会对其产生任何影响,但对浏览器而言,它是图像名称的一部分,因此当它更改时,将强制浏览器获取新图像


例如,您可以调用image
someimage.png?1
。更新图像后,您可以将其称为
someimage.png?2

一种简单的方法是在图像文件名的末尾附加一个查询字符串,并在每次图像更改时对其进行更改。查询字符串被图像文件忽略,因此不会对其产生任何影响,但对浏览器而言,它是图像名称的一部分,因此当它更改时,将强制浏览器获取新图像


例如,您可以调用image
someimage.png?1
。当图像更新后,您可以将其称为
someimage.png?2

“我正在尝试做什么?”拼写为“您尝试了什么?”。举个例子,看看为什么要投否决票?显然我试过一些东西。标头(“缓存控制:必须重新验证”);举个例子,但它不会产生任何结果,所以我认为我不知何故弄错了“显然我尝试了一些我们看不到的东西”。所以,与其要求我们展示一百万种可能的解决方案,不如展示你发现了什么,哪些不起作用。我认为在我的案例中使用它是合理的。因此,请删除downvoteThere的大约十个HTTP头,您可以使用它们进行缓存和失效,其中一些用于I链接。我们无法猜测要在代码中修复什么才能使其正常工作,您需要显示代码和“我正在尝试做什么?”拼写为“您尝试了什么?”。举个例子,看看为什么要投否决票?显然我试过一些东西。标头(“缓存控制:必须重新验证”);举个例子,但它不会产生任何结果,所以我认为我不知何故弄错了“显然我尝试了一些我们看不到的东西”。所以,与其要求我们展示一百万种可能的解决方案,不如展示你发现了什么,哪些不起作用。我认为在我的案例中使用它是合理的。因此,请删除downvoteThere的大约十个HTTP头,您可以使用它们进行缓存和失效,其中一些用于I链接。我们无法猜测要在您的代码中修复什么才能使其工作,您需要显示代码和。是的,这将防御工作,我以前在另一页中使用过此方法。但这将很难实现。因为我们必须将这些计数器存储在某个地方…我有时会将索引号嵌入文件名本身,然后使用Apache重写将其移动到查询字符串中。我也在使用这种方法,但IE(实际上是任何版本)有时似乎忽略了它,它可以工作到80%,但每隔几次图像刷新,id就无法工作。是的,这应该是有效的,我以前在另一页中使用过这种方法。但这将很难实现。因为我们必须将这些计数器存储在某个地方……我有时会将索引号嵌入文件名本身,然后使用Apache重写将其移动到查询字符串中。我也在使用这种方法,但IE(实际上是任何版本)有时似乎忽略了它,它可以工作到80%,但每隔几次图像刷新,id就无法工作。。