php页面,每隔一段时间局部刷新。

用于论坛,所以想找个效率高的,不会让服务器符合不过来的代码。要用到ajax或者ifreame吗?... 用于论坛,所以想找个效率高的,不会让服务器符合不过来的代码。要用到ajax或者ifreame吗? 展开
 我来答
阳光上的桥
2010-01-28 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
减少网络负荷的方法,就是只有在有新内容的时候才刷新,没有新内容就不刷新,一般方法是,在需要刷新的页面用隐藏iframe加载检测页面,例如:
<iframe width=0 height=0 src=check_new.php></iframe>

而检测文件check_new.php要做的有两件事情,一是定时刷新,二是检测是否更新,一般结构如下:
<html>
<head><META HTTP-EQUIV=REFRESH CONTENT=60></head>
<body>
<?php
....检测是否有新内容的代码.....
if (更新) echo '<script>parent.location.href=parent.location.href;</script>';
?>
</body></html>

服务器端减少数据库流量的方法,分两个步骤,一是修改数据库的语句在成功修改后,设置一个标志文件,设置方法下面这样既可:
fclose(fopen('db_updated.log','w'));
道理是建立一个空文件,文件日期为数据库最后建立日期。

现在我们给check_new.php增加一个参数,用来记录检测页面最后获取数据的时间,那么只要文件日期比那个日期新就是有更新,这需要修改两个地方,一是主页面的iframe代码修改如下:
echo '<iframe width=0 height=0 src="check_new.php?last='.time().'"></iframe>';

二是检测文件check_new.phpPHP部分代码如下:
<?php
if (filemtime('db_updated.log')>$_GET['last']) echo '<script>parent.location.href=parent.location.href;</script>';
?>

不知道你是否明白?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式