php如何设置缓存时间

在php中可以通过“header()”方法来设置页面Cache缓存,其语法如“header("Pragma: cache");$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", ),GMT";”。

成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为玉田企业提供专业的成都网站设计、成都网站建设玉田网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

推荐:《PHP视频教程》

php header()设置页面Cache缓存

header()函数在php的使用很大,下面我来介绍利用它实现页面缓存的一些方法,但使用header前必须注意,在它之前不能任何输出,包括空格。

手册上,我们对于cache都是写着如何设置,以便让代码不被cache,代码如下:

header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
header("Pragma: no-cache"); // Date in the past

而且在设置的时候还得注意在header前不能有输出,否则header设置无效,但都没有写过,如何给页面设置Cache,虽然我们知道有一些办法,比如 E-TAG之类的,当然也有简单的设置,比如我们在输出前,对内容进行md5,将它当成e-tag只要没变化,就不会有影响.也有其他的方式,代码如下:

$seconds_to_cache = 3600;  
$ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT";  
header("Expires: $ts"); header("Pragma: cache");  
header("Cache-Control: max-age=$seconds_to_cache");

缓存1小时,主要是过期时间得用gmdate来设置,而不是date,这个要注意,其他都差不多。maxage要和expire能够对得上。

对于PHP产生的动态内容,只需要在内容输出之前输出强制缓存的header即可,比如下面的代码即要求浏览器缓存文件1个月,代码如下:

对于静态文件,一般的服务器都支持第3级缓存状态。要想达到第四级的缓存效果,要么像之前GZIP压缩那样,用PHP外包一层,然后用PHP处理。要么需要服务器端的支持,APACHE的一个模块mod_expires支持给文件添加expires header。把下面的代码加入你的blog目录下的.htaccess文件,如果你的服务器安装了mod_expires模块,则将自动生效,图片等强制缓存一个月,html文档缓存10分钟。如果该模块没有安装,也不会出错,代码如下:

 
ExpiresActive On 
ExpiresByType image/gif A2592000 
ExpiresByType image/jpeg A2592000 
ExpiresByType image/png A2592000 
ExpiresByType application/x-shockwave-flash A2592000 
ExpiresByType text/css A2592000 
ExpiresByType application/x-javascript A2592000 
ExpiresByType text/html A600 

在这里有mod_expires更详细的文档和教程。不过我要说明的是,mod_expires在绝大多数服务器上都没安装.
当前标题:php如何设置缓存时间
当前地址:http://bzwzjz.com/article/cjdoip.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 自适应网站建设 重庆企业网站建设 外贸网站建设 网站建设公司 企业网站设计 成都网站建设 成都网站制作 企业网站建设公司 手机网站制作设计 成都网站设计 企业手机网站建设 做网站设计 重庆网站制作 上市集团网站建设 成都网站建设流程 攀枝花网站设计 成都网站建设公司 成都网站制作 定制网站建设多少钱 网站设计制作报价 定制级高端网站建设 成都模版网站建设