https://www.myziyuan.com/
- 尖叫的奶牛
- PHP + JS,用Ajax调用。最好写入memcache,这样比较快。
- 2021-02-24 21:35:01
- 金牛科技
- 1,配置文件 复制代码代码如下: 2,公共函数文件 (1)chklogin()函数检查用户昵称是否重复。参数$user是登录用户的昵称。当函数返回值为True时,昵称不可用;返回值为False时,昵称可用。 复制代码代码如下: function chklogin($file,$user){ $boo = false; if(file_exists($file)){ $userarr = file($file); /* 判断昵称是否重复 */ foreach($userarr as $value){ //判断昵称是否重复 $tmparr = explode('#',$value); //使用“#”作为分隔符来拆分字符串 if($user == $tmparr[0]){ //如果用户数组中包含此用户 $boo = true; break; } } } return $boo; } (2)addlogin()函数将登录的用户昵称写入文件中,保存格式为:昵称#IP#性别,参数$file是保存的文件地址,$user是用户昵称,$ip是登陆IP,$sex表示用户性别。 复制代码代码如下: function addlogin($file,$user,$ip,$sex){ $tmp = $user.'#'.$ip.'#'.$sex.chr(13).chr(10); //chr(13) 是一个回车,Chr(10) 是个换行符,chr(32) 是一个空格符 $fp = fopen($file,'a'); //写入方式在文件末尾追加信息 $boo = fwrite($fp,$tmp); fclose($fp); return $boo; } (3)storeuser()函数的作用是将用户信息存为一个数组。格式为“用户名,用户性别”,参数$file是用户列表文件。代码如下: 复制代码代码如下: function storeuser($file){ $tmparr = file($file); //将文件内容写入数组 $userarr = array(); //创建数组 foreach($tmparr as $value){ //循环输出数组内容 $tmparr = explode('#',$value); //使用#拆分字符串 $userarr[] = $tmparr[0].','.$tmparr[2]; //将用户名和用户性别保存到新数组中 } return $userarr; } (4)addmess()函数将发言内容写入文件中。参数$file是保存的文件地址,$mess是要保存的内容 复制代码代码如下: function addmess($file,$mess){ $fp = fopen($file,'a'); //以追加的形式打开文件 $boo = fwrite($fp,$mess.chr(13).chr(10)); //将信息写入文件中 fclose($fp); //关闭文件 return boo; } (5)deluser()函数的作用是删掉用户。参数$file是保存的文件地址,$user是要删除的用户 复制代码代码如下: function deluser($file,$user){ $tmparr = file($file); //将文件内容写入数组 $rearr = array(); //创建数组 foreach($tmparr as $value){ //循环输出数组内容 $tmp = explode('#',$value); //使用#拆分字符串 if($tmp[0] != $user){ //如果变量中的用户名和当前用户不相等 $rearr[] = $value; //将该用户信息保存到新数组中 } } $fp = fopen($file,'w+'); //以只写的方式打开文件 foreach($rearr as $value){ //循环数组 fwrite($fp,$value); //写入数组内容 } fclose($fp); //关闭文件 } (6)getRows()函数的作用是返回文件的行数,参数$file是文件名 复制代码代码如下: function getRows($file){ if(file_exists($file)){ //如果文件存在 $fl = file($file); //将文件按行写入数组 return count($fl); //求出数组长度并返回 }else{ return 0; //如果文件不存在,返回0
- 2021-02-12 01:22:51
- visitor
- 谁能告诉我用php如何实现单用户聊天室系统到多用多房间聊天室系统的转变请告诉我详细的代码(不要让我...,朋友,我来告诉你答案!实现“聊天室对象”,“房间对象”,“用户对象”聊天室对象中包含房间对象池和用户对象池在聊天室中开启不同房间时,只是在房间对象池中新实例化一个房间对象。在用户进入这个聊天房间时,在房间对象的用户对象池中引用聊天室用户对象池中用户对象。用户对象池中包含一系列实例化的用户对象。每个用户对象包含一个聊天室列表对象,聊天室列表包含用户进入时间,最后一次发言时间等信息实现用户长时间未操作与正常退出的用户对象移除操作,实现房间的发言操作延长时长即可。在聊天室用户对象池中维护用户当前已登录的聊天房间数、登录时间等信息
- 2021-02-12 01:22:51