如何避免缓存成员信息

时间:2011-11-06 07:04:23

标签: php html caching outputcache

我使用ob_start();缓存动态php页面。它将缓存所有html输出到;但是部分html输出不是静态数据,例如,成员信息是通过登录来自$ _SESSION。如何跳过缓存部分HTML?我的意思是如何在缓存的html中继续运行php代码?

我能想象的唯一方法是从html的中间开始ob_start();

<html>
<head>
meta data
</head>
<body>
member info (e.g. Welcome USERNAME)
------ start caching from here to the end
ob_start();
.
.
.
</html>

这是唯一的方法吗?

2 个答案:

答案 0 :(得分:1)

一种方法是将动态部分留在缓存中,但是有一个包装div,例如

<div id='member_info'></div>

现在,您可以在文档加载时使用javascript填写动态部分。例如,使用jquery,

$(document).ready(function()
{
    var member_info_html = ''; //--generated dynamically with php
    $('#member_info').html(member_info_html);
});

答案 1 :(得分:0)

如果您有动态页面,则无法将其缓存为静态文件 只是不要这样缓存它。

我怀疑你还需要任何缓存。