如何使php文件被访问时被解释后生成一个完整的html页面文件(也就是静态完整的html缓存)

用户访问页面时,判断缓存时间是否过期,过期就调用php文件并更新html缓存文件,没过期就直接调用html缓存文件。请各位高手教我如何生成缓存和更新缓存(这些缓存是整个页... 用户访问页面时,判断缓存时间是否过期,过期就调用php文件并更新html缓存文件,没过期就直接调用html缓存文件。请各位高手教我如何生成缓存和更新缓存(这些缓存是整个页面) 展开
 我来答
ShineYang
2011-11-01 · 超过11用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:32.9万
展开全部
做文件判断,根据文件名判断文件是否存在,存在访问html不存在开始缓存
更多追问追答
追问
你能告诉我缓存具体怎么写吗?
追答
我这有两种方法你看一下:
Memcache
.下载memcached, http://www.danga.com/memcached/ ; 2.解压,比如放在 D:\memcached-1.2.1 ; 3.DOS下输入‘D:\memcached-1.2.1\memcached.exe -d install’,进行安装(注意‘’不要输入); 4.再次输入‘D:\memcached-1.2.1\memcached.exe -d start’启动memcached。 注意:memcached以后会随机启动。这样memcached就已经安装完毕了。

$memcache = new Memcache;
$memcache->addServer('172.19.5.199',11211);
$memcache->addServer('172.19.5.13',11211);
//$memcache->connect('localhost', 11211) or die ("Could not connect");
//$version = $memcache->getVersion();
//echo "Server's version: ".$version;
$memcache->set('key3',array(1,2,3));
var_dump($memcache->get('key3'));

ob
ob_start()
$content = ob_get_contents();
ob_clean();
$cache_file = fopen('f:\1.html', 'w+');
fwrite($cache_file, $content);

页面静态化--------------------------------------
ob_start();
$static_file = '1.html';//静态页面
$php_file = basename(__FILE__);//当前动态页面
if (!file_exists($static_file) ||
((filemtime($static_file)+10) filemtime($static_file)) //源文件已修改
{
echo '静态页面示例';
echo 'erer';
$c = ob_get_contents();
ob_clean();
file_put_contents($static_file, $c);
}
$s = file_get_contents($static_file);
echo $s;
-------------------------------------------------
ob_implicit_flush($p) $p:0:关闭 1:开启(每次输出后都自动刷新,而不再需要去调用flush())
ob_list_handlers 列出所有使用的输出句柄
output_add_rewrite_var
output_add_rewrite_var('var', 'value');
echo 'link';
输出:link
output_reset_rewrite_vars
output_add_rewrite_var('var', 'value');
echo 'link';//输出:link
ob_flush();
output_reset_rewrite_vars();
echo 'link';//输出:link
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式