PHP+jquery+ajax实现即时聊天功能实例

本文实例讲述了PHP+jquery+ajax实现即时聊天功能的方法。分享给大家供大家参考。具体如下:

这是一个简单的利用jquery与php做的一个聊天室的源码,我们这里定时利用ajax读取数据库并进行刷新了,下面直接参上源码,实例代码如下:

index.html页面如下:

复制代码 代码如下:




无标题文档



 


 
 

 
 



data.php页面如下:

复制代码 代码如下:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pramga: no-cache");
set_time_limit(0);
$get = $_GET['action'];
$type = $_GET['type'];
$file = $type.'.txt';
if(isset($get) && isset($type) && file_exists($file)){
 switch($get){
  case 'first':
   $chat = file_get_contents($file);
   $json=array(
    'status' => 200,
    'time' => gmdate("s"),
    'chat' => $chat,
   );
   echo json_encode($json);
   break;
  case 'while':
   $oldsize = filesize($file);
   $newsize = filesize($file);
   while(true){
    if($oldsize!=$newsize){
     $chat = file_get_contents($file);
     $json=array(
      'status' => 200,
      'time' => gmdate("s"),
      'chat' => $chat,
     );
     echo json_encode($json);
     exit;
    }
    clearstatcache();
    $newsize = filesize($file);
    usleep(10000);
   }
   break;
 }
}
?>

send.php页面如下:

复制代码 代码如下:
$json = array();
$txt = isset($_GET['txt'])?$_GET['txt']:'';
$type = isset($_GET['type'])?$_GET['type']:'';
if($txt!=''){
 $file = $type.".txt";
 if(file_exists($file)){
  $fp = fopen($file,"a");
  $str = "rn".'Admin:'.$txt;
  //$str = $txt."n"//linux;
  fwrite($fp, $str);
  fclose($fp);
  $json['status']=200;
  echo json_encode($json);
  exit;
 }
}
?>

希望本文所述对大家的php程序设计有所帮助。

你可能感兴趣的:(PHP+jquery+ajax实现即时聊天功能实例)