<?php
//开启缓存
ob_start();
//修改时间差
date_default_timezone_set ("Asia/Shanghai");
//获取当前文件名 得到:/test7.php
$selfName = $_SERVER['PHP_SELF'];
//用正则替换前面的“/”和后面的“.php” 得到 test7
$selfName = preg_replace('///|(.php)/', '' ,$selfName);
//然后在他文件后面加“.html” 得到 test7.html
$selfName .= '.html';
//以读的方式打开文件
$fp = @fopen($selfName, "r");
if ($fp)
{
//文件修改时间
$fileMakeTime = filemtime($selfName);
/**
* 判断是否小于当前时间的$differ秒
* 如果小于的话证明这个文件已经过期了
* 因为我们的PHP是动态的玩意你在后台修改添加或删除了内容的话 这样的话别人就看不到你更新的内容了
* 所以就要重新生成html文档
* 如果大于的话直接给访问者看HTML文档就是了
*/
$differ = 60*1;//以为时间戳也是以秒来算了所以这里就似乎1分钟的时间了
if ($fileMakeTime > (time() - $differ))
{
//表HTML文档没有过期就给用户看这个HTML文档 用header来跳转吧
header("location:$selfName");
//然后后面的程序也没有必要运行下去了
echo '跳转吧';
fclose($fp);
exit;
}
}
//这后面就是文件过期 就需要重新生成咯
for ($i = 0; $i < 100 ; $i++)
{
echo "$i/n/r<br />";
}
//把缓存的文件放当$content里去把
$content = ob_get_contents();
//结束缓存并输出缓存内的内容ob_end_flush()就是这功能
ob_end_flush();
//最后把缓存里的东西写成一个html静态的文档吧
$fp = @fopen($selfName, "w");
fwrite($fp, $content);
fclose($fp);