在静态html中缓存php输出

时间:2017-01-12 12:05:55

标签: javascript php html caching

我想在静态html中缓存php脚本的输出。尝试了几个指南和代码示例但没有成功。

这是我的代码:

<?php
$cachefile = 'cached_php.html';
$cachetime = 18000;

if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
    include($cachefile);
    exit;
}
ob_start();
?>

<html>
    <script src="/feeds/phpscript.php"></script>
</html>

<?php
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();
?>

但我得到的只是带有内容的cached_php.html:

<html>
    <script src="/feeds/phpscript.php"></script>
</html>

2 个答案:

答案 0 :(得分:0)

您是否希望运行phpscript.php?

如果是这样,您需要包含脚本而不是将其输出到文件:

primes[]

let countObj = [{ 2: 1 }, { 2: 4, 5: 1 }, { 3: 3 }]; let finalObj = {}; let primes = [2, 3, 5]; countObj.forEach(function(obj) { Object.keys(obj).forEach(function(key) { var finalObjValue = finalObj[key] || 0; if(obj[key] > finalObjValue) finalObj[key] = obj[key]; }); }); console.log(finalObj);标记用于客户端脚本,因此不能用php作为src值。

答案 1 :(得分:0)

不好的描述。

phpscript.php将大量数据从数据库中加载到表中。这个程序需要~5-10sek

我想将此输出缓存到静态html文件