欲让使用者每次都能得到最新的资料,而不是 Proxy 或 cache 中的资料,可以使用下列的标头
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
建议你对每个动态生成固定的一个id,使用id号为你生成静态的页面文件名,
当有写入操作时直接覆盖原来的文件,没有写入操作时直接使用原来的静态文件,这样不就不用你管,自动更新了吗?
这样只修改js文件即可
c.php的内容:include"a.php";
文件主体
include "b.php";
a.php和b.php有可能常有变动大家对批量生成静态页面也给个建议。谢谢
<script src="a.php"></script>
由c.php产生的内容
<script src="b.php"></script>
$i=3; //试循环执行3到6
while($i<6){
ob_start(); //打开输出缓冲,
$id=$i; //$id是传给a.php文件使用的
include"c.php";
$str = ob_get_contents(); //取出缓存中的数据保存在$str变量中
$fp = fopen(date("YmdHis").".html","w");//生成以当前日期为文件名的网页
fwrite($fp,$str); //将内容写进文件
fclose($fp);
ob_end_clean();//关闭输出缓冲并清空
$i++;
}
?>
这个是我把高手的修改一点点的代码。我想同过循环实现批量生成可以吗??先拿3~4条记录实验,可是只产生一个静态页面。还请指点
不过如果你的量很大 一下子全生成也不一定是好方法。
我前面所说的修改 是 比如你的静太模板变了,如果是单个文章内容有改,在改后可直接做个生成。
那你说的修改重新生成指的是什么?
c.php的内容:include"a.php";
文件主体
include "b.php";
a.php和b.php有可能常有变动
是这样的