我有一個緩存功能並獲得了HTML文件。包含一個文件並替換它
問題是我想將我的文件加入到我的頁面。
例子:
<h2>Before</h2>
<?php
cache('start');
// content....
cache('end');
?>
<footer>After</footer>
所以我的緩存的功能是如此簡單的像......
function cache($a,$min=null) {
global $cachefile;
$cache_path = "/cached/";
$file_name = basename(rtrim($_SERVER["REQUEST_URI"],'/'));
$file_path = 'http'.(empty($_SERVER['HTTPS'])?'':'s').'://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$cachefile = $cache_path.sha1($file_path).'.cache';
if($a == 'start'){
$lifetime = $min * 60;
if(file_exists($cachefile)&&time()-$lifetime<filemtime($cachefile)){
include($cachefile);
exit;
}
ob_start();
}
if($a == 'end'){$fp=fopen($cachefile,'w');fwrite($fp,ob_get_contents());fclose($fp);ob_end_flush();}
}
問題是...
include($cachefile);
exit;
它停止渲染包括在內。我試圖刪除exit
,所以我得到2多個內容。
有沒有?
只是把你的函數'cache'在全球utils的文件,包括一次 – Adidi 2013-04-26 12:11:01
你得到任何錯誤或頁面空白 – 2013-04-26 12:18:46
沒有任何錯誤,我只想替換'cache('start');'和'cache('stop')之間的所有內容;'@NanheKumar – l2aelba 2013-04-26 12:22:08