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,可快速實現視頻聊天功能,不限開發語言。