PHP 中控制浏览器缓存的方法

用 PHP 控制浏览器缓存是非常容易的,手册上也相关的说明,由于很多初学者没有把手册看完,所以还是会有很多关于这个问题的疑问,故在此专门发一篇文章,同时对相关的语法做了详细的说明,方便新手查阅。

要解决这一问题,可以通过 PHP 中的 header() 函数,发送特定的缓存控制原始 HTTP 标头,具体代码如下:

 
<?php
 
//下面的语句设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");
 
//下面的语句设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强迫浏览器获取最新资料
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
 
//告诉客户端浏览器不使用缓存,HTTP 1.1 协议
header("Cache-Control: no-cache, must-revalidate");
 
//告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议
header("Pragma: no-cache"); 
 
?>

注意:header() 必须在任何实际输出之前调用,不论是来自普通的 HTML 标记,空行或者 PHP。在中文环境下,一个全角的空格也会导致难以查找的错误!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>