【问题标题】:Clear browser cache memory by php code通过php代码清除浏览器缓存
【发布时间】:2015-07-12 11:18:34
【问题描述】:

我创建了一个动态网页。在主页上有三个滑动图像。我创建了另一个页面来更改该主页图像(滑动)。因此,在我提交第二页之后,我编写了一个 PHP 代码以返回主页。但是图像没有改变,因为我的浏览器在其缓存中有该网页。如果我手动删除缓存,或者重新启动它正在工作的浏览器。如何在 PHP 编码中删除浏览器缓存?给我一个解决方案。谢谢。

【问题讨论】:

    标签: php html caching browser


    【解决方案1】:

    你不能清除缓存,但是你可以先让页面不要缓存:

    header("Cache-Control: no-cache, must-revalidate");
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    

    这已经在 StackOverflow 上被问过了,这个答案是从那里得到的,纯粹是为了向已经回答这个问题的其他用户表示感谢。

    上一个问题在这里:How to clear browser cache with php?

    或者,如前所述,您可以使用 META 标签来执行此操作,但您要求使用 PHP 解决方案,所以这里是 :D

    祝你好运。

    【讨论】:

      【解决方案2】:

      有一个技巧可以使用。技巧是在脚本标记中的文件名中附加一个参数/字符串,并在文件更改时更改它。

      <script src="myfile.js?version=1.0.0"></script>

      浏览器将整个字符串解释为文件路径,即使“?”后面是什么。是参数。所以现在发生的事情是,下次更新文件时,只需更改网站上脚本标记中的数字(例如 <script src="myfile.js?version=1.0.1"></script>),每个用户的浏览器都会看到文件已更改并获取一个新副本。

      【讨论】:

        【解决方案3】:

        您还可以在图像 URI 中添加一个随机字符串:

        <img src="myimage.png?r=12345" alt="">
        

        如果每次重新加载主页时随机字符串都不同(!),浏览器将从服务器检索图像。

        【讨论】:

          【解决方案4】:

          如果您的文件经常更改,那么在您的位置,我只需将以下标头与 PHP 一起发送:

          header("Cache-Control: no-cache, must-revalidate");
          

          您可以在您的 PHP 脚本的第一期之前将这些行添加到您的页面中。有了这个,你告诉浏览器,它不应该缓存页面,它应该每次都再次请求内容。

          对于图片,您可以在 HTACCESS 中写入以下行:

          <FilesMatch "\.(jpg|png|gif)$">
          Header set Cache-Control "no-cache, must-revalidate"
          </FilesMatch>
          

          【讨论】:

            【解决方案5】:

            尝试使用 HTML 缓存控件 META TAGS:

            <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
            <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
            

            或使用 EXPIRES:

            <META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 02 May 2015 21:00:00 GMT">
            

            【讨论】:

              【解决方案6】:

              或者您通过 header() 禁用 PHP 缓存;功能,或者你给你的图像一个参考(imgurl.com/imagename.jpg?r=1234)。我会推荐第二种方法。为什么?因为如果您使用标头函数 op php 关闭整个页面的缓存,它只会减慢您的网站速度。所以给你的图片一个随机字符串。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2023-03-23
                • 2012-07-10
                • 2010-11-05
                • 1970-01-01
                • 1970-01-01
                • 2016-02-18
                相关资源
                最近更新 更多