PHP缓存网页的部分区域,使用ob_end_flush()将切断剩余的html。我该怎么用?

时间:2013-04-02 10:07:55

标签: php caching

这是我的代码的 简单 表示形式:

include "header.php"
$cachefile = 'cache.html';
$cachetime = 4 * 60;
// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
    include($cachefile);
    exit;
}
ob_start(); // Start the output buffer

include page_content.php

$cached = fopen($cacheFile, 'w');
fwrite($cached, ob_get_contents());
fclose($cached);
ob_end_flush(); // This line is giving me trouble!
include "script.php"
include "footer.php"

所以我不想将输出发送到浏览器。如果我这样做,我的script.phpfooter.php文件将不会被切断而不包括在内。我可以用什么代替ob_end_flush()

因此,只有内容被缓存,每次都会提取页脚和脚本。

我还应该将所有缓存文件放在自己的目录中吗? (说./cache/)好处?

编辑:我删除了ob_end_flush()行,一切似乎都运行正常。这有危险吗?我需要冲洗一下怎么样?

0 个答案:

没有答案