首页>>后端>>php->php实时聊天室?

php实时聊天室?

时间:2023-11-29 本站 点击:1

ThinkPHP微的H5聊天室即时通讯系统APP源码分享

ThinkPHP内核聊天室即时通讯系统源码是一款类似微信的H5聊天系统APP源码 。

源码功能:

消息提醒:有新的消息可以提醒(数字提醒、声音提醒)。

聊天列表:显示最近所有的聊天列表,点击列表某一项可以打开聊天窗口;还可以删除聊天列表项。

聊天窗口:可以发生文字消息、图片消息、表情;图片可以预览。

站内公告:在顶部显示可以及时显示后台发布的公告。

添加朋友:可以搜索对方的帐号名称然后添加到通讯录;添加前需要好友验证才能通过。

群聊:显示群聊信息。

列表:根据字母分组显示联系人;点击联系人可以查看详情资料;可以删除联系人。

游戏:可添加你的官方网站或者游戏网站其它~自定义嵌入第三方网站

个人信息:显示头像、昵称、帐号;可以修改头像和昵称。

修改密码:可以修改登录密码。

朋友圈:可以发动态。

各种源码每天更新,还有各种破解软件、破解游戏、福利写真图哦~

网址

php 聊天室刷新问题

不刷新的聊天室,首先你保存内容的chat.txt文件要修改,要增加一列保存消息ID,这个ID是自动增加,永不重复的,不知道你现在的是怎么设计,可以如下:

消息ID|说话人|说话对象|消息内容

有发送消息的程序修改这个文件,控制只保留10条内容,有人发消息时候,把消息放到文件最后,删除文件前面的信息,文件最多10行,这个代码并不复杂,你应该会写的。

刷新框隐藏不显示,反复刷新,每次刷新后把获取的内容提交给消息框,例如刷新框的代码可以如下:

script type=text/javascript

?php

foreach (file('chat/chat.txt') as $line){

list($id,$from,$to,$msg)=explode('|',$line);

echo "msg_frame.add_msg($id,'$from','$to','$msg');\r\n";

//注意:msg_frame是消息框的名称。

}

?

/script

消息框不刷新,编写一个添加消息的函数,等着刷新框来调用,例如内容如下:

div id=msg/div

script type=text/javascript

var maxid=0;

function add_msg(id,from,to,msg){

if (idmaxid) {

maxid=id;

if (to=='') to='大家';

s='p'+from+'对'+to+'说:'+msg+'/p';

document.getElementById('msg').innerHTML+=s;

}

}

/script

php聊天室

当然不是,流程是这样:

用户登录或者管理员从后台新建一个房间,入库,然后在需要的地方把数据调出来,这样新登入的用户就可以看到当前已经存在的房间了,然后就可以选择进入不同的房间,当用户进入房间以后会把用户与这个房间相关联,现在所有在这个房间有权限的人都可以发言了,然后使这条消息只显示给与这个房间相关联的用户。

你可以先做个简单点的。。然后再慢慢完善,一步一步的来。。

php聊天室的问题

你把写入资料库的时间,取出来,放到聊天页面,就是静态的了

php如何实现语音聊天? - PHP进阶讨论

找到php的音频转换工具,基于html5开发的android和ios的app应用上实现语音聊天功能也就理论上打通了。

1. 用phonegap封装成android应用,phonegap官网上有详细介绍

2.实现js和android原生语言java的通信(google有介绍)

3.调用原生语言实现录音功能(mediaRecorder类),录音格式为 amr格式(android本身支持的语言)

4.回调js方法,把amr文件地址传给phonegap,利用phonegap读取录音文件并上传到服务器端

5.服务器端利用ffmpeg2theora 将amr转为html5支持的音频格式ogg

6.接下来读取文件,利用html5的audio 播放ogg文件。

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/628.html