源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-08-08 04:34 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP+jquery+ajax实现即时聊天功能实例
本文实例讲述了PHP+jquery+ajax实现即时聊天功能的方法。分享给大家供大家参考。具体如下: 这是一个简单的利用jquery与php做的一个聊天室的源码,我们这里定时利用ajax读取数据库并进行刷新了,下面直接参上源码,实例代码如下: index.html页面如下:
[u]复制代码[/u] 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="js/jquery-1.9.1.min.js"></script> <script> var chat = {  init:function(){   chat.first();   $('#chat_btn').unbind('click').click(function(){    chat.send();   });   $('#my_chat').keyup(function(){    if(event.keyCode == 13){     chat.send();    }   });  },  first:function(){   $.getJSON('data.php',{    action:'first',    type:'l'   },function(data){    chat.btn_status._true();    $('#mwebtime').html(data.time);    $('#chat textarea').val(data.chat);    $('#chat textarea').stop(true,true).animate({scrollTop:9999}, 1);    chat.socket();   });  },  send:function(){   chat.btn_status._false();   $.getJSON('send.php',{    txt:$('#my_chat').val(),    type:'l'   },function(data){    if(data.status==200){     chat.btn_status._false();     $('#my_chat').val('');     setTimeout(function(){      chat.btn_status._true();     },2000);    }   });  },  socket:function(){   $.getJSON('data.php',{    action:'while',    type:'l'   },function(data){    $('#mwebtime').html(data.time);    $('#chat textarea').val(data.chat);    $('#chat textarea').stop(true,true).animate({scrollTop:9999}, 1);     chat.socket();   });  },  btn_status:{   _false:function(){    $('#chat_btn').html('等待').attr('disabled',true);   },   _true:function(){    $('#chat_btn').html('发言').attr('disabled',false);   }  } } chat.init(); </script> </head>   <body> <div id="chat">  <textarea wrap="physical" style="line-height:20px;font-size:12px;height:100px;width:200px;"></textarea>  <BR />  <input id="my_chat" type="text" />  <button id="chat_btn" disabled="disabled">发言</button> </div> <div id="mwebtime"></div> </body> </html>
data.php页面如下:
[u]复制代码[/u] 代码如下:
<?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页面如下:
[u]复制代码[/u] 代码如下:
<?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程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部