php在线聊天
㈠ php 写一个在线聊天系统,怎么写一个接口实现将一个客户端的用户ID传到另一个客户端的用户
在客户端设置个ajax定时器。
㈡ 基于php与Mysql的在线聊天系统如何实现
用ajax 就可以啊。
㈢ php 实现一对一在线交流,并记录聊天记录
这个很简单,用户浏览时,把他的SESSION ID作用户名,他提交的信息写入数据库。把你的工作人员的信息和他的信息定时刷新到你的聊天页面就行了。如还不明白可以QQ45112544
㈣ 请问PHP能否实现即时通讯
可以的,但是运行的地方不能是虚拟主机,因为那些一般只有FTP文件管理+WEB控制面板,这种条件下基本上无法实现的,即使实现了,效果也不好
㈤ php如何实现视频聊天
1,配置文件
复制代码代码如下:
<?php
define('PATH',dirname($_SERVER['SCRIPT_NAME'])); //聊天室目录
define('CHAT_NAME','PHP聊天室'); //聊天室名称
define("MESS", "mess.txt"); //聊天信息
define("PERSON", "person.txt"); //在线人名单
define("RETIME",3); //刷新时间
define("LINE",11); //公共窗口显示的行数
define("PRLINE",5); //私聊窗口显示的行数
define("MAX",50); //聊天室人数限制
define("MAXTIME",600000); //最大不发言时间,单位是毫秒
define("WELCOME","<font color=blue>欢迎光临".CHAT_NAME.",请遵守聊天室规则,不要恶意刷新,不要使用不文明用语。</font>"); //欢迎语
?>
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
㈥ php中怎么实现在线聊天功能 ,求教高手,类似图片中的
直接用QQ生成 你去这 http://wp.qq.com/ 弄
㈦ 我想用php制作一个在线聊天室,怎么统计在线人数啊
根据会话数来统计在线人数.
一般是这样的,在数据库中记录每个用户的会员数据,并且用户的每一次动作都update他的最后动作时间.那么统计在线人数就是统计某段时间内有动作的用户即可.一般5分钟或者10分钟.
上面是靠用户自己的操作来更新在线时间的.你也可以在用户停留的页面弄个JS,隔个2分钟就做个ajax请求,自动更新用户的最后的在线时间,
ps 如果你不想修改session存到mysql,memcached等里面,则可以根据session_id()来获取PHPSESSID来作为身份标识,
然后要在程序中写上随机删除过期很久了的会话.
至于聊天记录.你肯定是要保存在服务器端的,至于读取.可以通过AJAX几秒来获取一次数据库里面的内容,当然,在获取记录的时候,你需要记录你获取的时间,然后下次获取的时候只呀这个时间后的,如果有数据,则追加到当前聊天记录后面,否则保持不变.
㈧ php 怎么实现即时即时通讯
php实现实时通信一般有两种方式:socket或comet。
socket是比较好的解决方案,问题在于不是所有的浏览器都兼容,服务器端实现起来也稍微有点麻烦。
comet(基于HTTP长连接的"服务器推")实现起来更加方便,而且兼容所有的浏览器。
comet也有好几种实现方式,如iframe, http long request等。
㈨ php实时在线视频聊天怎么实现
接入即构实时音视频sdk,可快速实现视频聊天功能,不限开发语言。