首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在客户端缓存PHP脚本输出

在客户端缓存PHP脚本输出
EN

Stack Overflow用户
提问于 2009-07-13 06:03:22
回答 4查看 313关注 0票数 0

我有一个php脚本,每次调用它都会输出一个随机图像。因此,当我在web浏览器中打开脚本时,它会显示一个图像,如果我刷新,则会显示另一个图像。

我正在尝试通过命令行(通过机械化)来捕获访问网站的正确图像。我使用urllib2.urlopen(...)来获取图像,但每次这样做我都会得到不同的图像。我希望能够始终如一地捕捉相同的图像。我如何才能做到这一点?

谢谢!

更新:这是我所说的一个例子。如果您在web浏览器中重新加载此图像,则每次都会弹出不同的图像。如果您右键单击并保存,您将获得正确的图像。如果你一直这样做,你就会一直得到正确的图像。但是,从命令行如何做到这一点呢?

http://www.biglickmedia.com/art/random/index.php

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-13 06:17:21

你的图片很可能是由浏览器缓存的,设置如下:

代码语言:javascript
运行
复制
<?php
      header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
      header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

并且每次生成图像时都使用另一个名称(可以通过在原始图像上添加毫秒来完成)。

票数 1
EN

Stack Overflow用户

发布于 2009-07-13 06:22:40

您可以尝试将生成的镜像缓存到磁盘,并通过不同的链接将其提供给用户。

生成镜像后,将其移动到临时文件夹,用户可以在其中下载生成的静态镜像。下载完成后,删除以腾出空间。

票数 1
EN

Stack Overflow用户

发布于 2009-07-14 13:17:11

当您从浏览器保存它时,它不是返回到服务器重新请求图像,而是提供它从缓存中显示的图像。

您的命令行客户端也需要做同样的事情。您需要在每次请求图像时将其保存。然后,当你找到你想要保留的图像时,你需要将已经保存的图像复制到你想永久保存它的任何地方。

如果服务器总是提供一个新的随机映像,那么您就没有别的办法了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1117890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档