php 聊天室 可不可以不定时刷新
发布网友
发布时间:2022-04-22 08:19
我来回答
共2个回答
热心网友
时间:2022-04-22 09:48
可以的,采用js的document.write就可以实现了.
function write2(){
if(this.u.document==null)return;
this.u.document.writeln("");
this.u.document.writeln("");
this.u.document.writeln("");
this.u.document.writeln("");
this.u.document.writeln("//.................. 这里插入生成在线人数组的程序段
this.u.document.writeln("
";
}
//更新发言内容
while(file_exists($lockfile)){ $pppp++; }
//发言的锁定
fclose(fopen($lockfile,"w"));
//读入发言的总句数,也就是所有人一共发了多少言!我们可以保存每一个发言,但是这样会占用大量的磁盘空间,我们采用了一种取模的方法,循环使用文件来减少文件操作!
$talkmessage = file($filename);
$number = chop($talkmessage[0]);
//发言数增加一,然后保存
$talkhandle = fopen($filename,"w");
$number++;
fputs($talkhandle,$number);
fclose($talkhandle);
/去掉锁定
unlink($lockfile);
//对发言总数对10取模,作为文件名保存发言内容,也就是说第11句和第1句使用同一个文件名,由于不可能同时有10句话没有更新,所以这是数在人不是非常多的情况下很好!当然,考虑到人多的情况,可以设成100.
$filehandle = fopen("messageonline".($number%10).".php","w");
fputs($filehandle,$message);
fclose($filehandle);
//显示进入信息
print("parent.u.document.writeln("$message"); ");
//调用主动刷新js程序,传递已经显示的发言数目
print("parent.flushwin($number) ");
//保存最后一次显示的发言
$last = $number;
}
热心网友
时间:2022-04-22 11:06
不刷新是不可能的,不过界面华丽的话,你可以使用框架
<iframe src='*.php'></iframe>刷新框架内文件就不会很明显了!