php生成静态页面缓存,一直没有生成html文件,是哪里出错了
下面的代码,一直没有生成html文件,是哪里出错了?还是要配置什么东西?求解<?php$_time=5;$dir="F:\Apache2.2\htdocs";functi...
下面的代码,一直没有生成html文件,是哪里出错了?还是要配置什么东西?求解
<?php
$_time =5;
$dir="F:\Apache2.2\htdocs";
function cache_start($_time, $dir)
{
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$cachetime = $_time;
ob_start();
if(file_exists($cachefile) && (time( )-$cachetime < filemtime($cachefile)))
{
include($cachefile);
ob_end_flush();
exit;
}
}
function cache_end($dir)
{
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();
}
cache_start($_time, $dir);
//以下是输出的内容,放在cache_start和cache_end两个方法之间
for($i=0;$i<=100;$i++)
{
for($j=0;$j<=$i;$j++)echo $j."-";
echo "<br>";
}
cache_end($dir);
?> 展开
<?php
$_time =5;
$dir="F:\Apache2.2\htdocs";
function cache_start($_time, $dir)
{
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$cachetime = $_time;
ob_start();
if(file_exists($cachefile) && (time( )-$cachetime < filemtime($cachefile)))
{
include($cachefile);
ob_end_flush();
exit;
}
}
function cache_end($dir)
{
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();
}
cache_start($_time, $dir);
//以下是输出的内容,放在cache_start和cache_end两个方法之间
for($i=0;$i<=100;$i++)
{
for($j=0;$j<=$i;$j++)echo $j."-";
echo "<br>";
}
cache_end($dir);
?> 展开
2个回答
推荐于2016-04-06
展开全部
这个问题建议一步一步的判断 首先看看文件创建的路径是否正确,文件夹的权限是否有写入权限。还有一个问题 你可以在fwrite($fp, ob_get_contents());
这里获取一下返回值看看这里有什么,不过看你的代码是ob_get_contents()这个函数,没有啊,这个函数没有的话 调用出错 是不会执行fwrite的
这里获取一下返回值看看这里有什么,不过看你的代码是ob_get_contents()这个函数,没有啊,这个函数没有的话 调用出错 是不会执行fwrite的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询