我想在静态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>
答案 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文件