当前位置: 首页 > 面试题库 >

如何使用PHP使浏览器缓存图像?

乐正烨熠
2023-03-14
问题内容

我对如何缓存图像是全新的。

我使用PHP输出图库中的所有图像,并希望已显示的图像由浏览器缓存,因此PHP脚本不必再次输出相同的图像。我想要的只是图像显示得更快。

调用图像时,我喜欢这样:

<img src="showImage.php?id=601">

showImage.php-file做:

$id = (int) $_GET['id'];
$resultat = mysql_query("
    SELECT filename, id
    FROM Media 
    WHERE id = $id
");
$data = mysql_fetch_assoc($resultat);

...

//Only if the user are logged in
if(isset($_SESSION['user'])){
    header("Content-Type: image/jpeg");

    //$data['filename'] can be = dsSGKLMsgKkD3325J.jpg
    echo(file_get_contents("images/".$data['filename']."")); 
}

问题答案:

如果您使用php在输出消息之前检查用户是否已登录,则您不希望浏览器缓存图像。

缓存的全部目的是调用服务器一次,然后再也不调用它。如果浏览器缓存图像,它将不会调用服务器,并且脚本也不会运行。取而代之的是,即使用户不再登录,浏览器也会从缓存中提取图像并显示它。这可能是一个很大的安全漏洞。



 类似资料:
  • 问题内容: 如何使用php清除浏览器缓存? 问题答案:

  • 该映像是名为“favicon.ico”的.ico,位于根目录中,并且被识别为有效的ico文件。 有人帮忙吗?

  • 问题内容: 背景 我正在为两个公益网站编写和使用一个非常简单的基于CGI的(Perl)内容管理工具。它为网站管理员提供事件的HTML表单,这些表单将填写字段(日期,位置,标题,描述,链接等)并保存。在该表格上,我允许管理员上传与事件相关的图像。在显示表单的HTML页面上,我还显示了上传图片的预览(HTML img标签)。 问题 当管理员想要更改图片时,会发生此问题。他只需要点击“浏览”按钮,选择一

  • 问题内容: 我有一个运行在云服务器中的php站点。每当我添加新文件css,js或图像时,浏览器就会加载存储在缓存中的相同的旧js,css和图像文件。 我的网站具有doctype和meta标签,如下所示 由于上述doctype和元代码,我加载了浏览器中缓存的相同文件,而不是新文件 问题答案: 尝试这个

  • 问题内容: 在这里做什么?我有大量文件,Google Speed Page说它们“利用浏览器缓存”。.但是我不知道怎么办?我是否会弄乱或更改Apache配置文件(如下),或者在.htaccess页面中放置一些内容? 问题答案: 几天前我在做同样的事情。将此添加到我的.htaccess文件中: 现在,当我运行google speed page时,利用浏览器缓存不再是重中之重。 希望这可以帮助。

  • 推荐: http://www.cnblogs.com/skynet/archive/2012/11/28/2792503.html 304 Not Modified