当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP控制网页过期时间的程序

PHP
discuz安全提问算法
PHP静态新闻列表自动生成代码
用PHP实现图象锐化代码
PHP生成月历代码
用PHP实现的随机广告显示代码
用PHP实现维护文件代码
关于在php.ini中添加extension=php_mysqli.dll指令的说明
PHP 中的批处理的实现
木翼下载系统中说明的PHP安全配置方法
php为什么选mysql作为数据库? Mysql 创建用户方法
PHP如何编写易读的代码
PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX
php下一个阿拉伯数字转中文数字的函数
Discuz5.5.0代码高亮显示+运行代码框合成插件 下载
PHP+FLASH实现上传文件进度条相关文件 下载
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
在普通HTTP上安全地传输密码
php中ob(Output Buffer 输出缓冲)函数使用方法
php 用sock技术发送邮件的函数
真正的ZIP文件操作类(php)

PHP控制网页过期时间的程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 151 ::
收藏到网摘: n/a

有时我们需要控制主页之类的网页过期时间。但我们比如使用的是Chinacache的CDN,那要怎么样设计才能让他缓存我的内容.

当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中计中最好是后端来控制,所以最好的方法是程序来管理过期. 呵,我只会php,就用php写一个,别的程序也是一样。

见我下面的程序,呵呵,5分钟过期.

<?php
$headers = apache_request_headers();
$client_time = (isset($headers['If-Modified-Since']) ? strtotime($headers['If-Modified-Since']) : 0);
$now=gmmktime();
$now_list=gmmktime()-60*5;
if ($client_time<$now and $client_time >$now_list){
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $client_time).' GMT', true, 304);
exit(0);
}else{
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $now).' GMT', true, 200);
}
?>