本文实例讲述了PHP+jquery+ajax实现即时聊天功能的方法。分享给大家供大家参考。具体如下:
这是一个简单的利用jquery与php做的一个聊天室的源码,我们这里定时利用ajax读取数据库并进行刷新了,下面直接参上源码,实例代码如下:
index.html页面如下:
复制代码 代码如下:<!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="/UploadFiles/2021-04-02/jquery-1.9.1.min.js">
<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页面如下:
复制代码 代码如下:<"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; 
 } 
} 
"codetitle">复制代码 代码如下:<".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程序设计有所帮助。
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
 - 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
 - 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
 - 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
 - 群星《2024好听新歌42》AI调整音效【WAV分轨】
 - 王思雨-《思念陪着鸿雁飞》WAV
 - 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
 - 李健《无时无刻》[WAV+CUE][590M]
 - 陈奕迅《酝酿》[WAV分轨][502M]
 - 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
 - 群星《吉他王(黑胶CD)》[WAV+CUE]
 - 齐秦《穿乐(穿越)》[WAV+CUE]
 - 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
 - 邝美云《邝美云精装歌集》[DSF][1.6G]
 - 吕方《爱一回伤一回》[WAV+CUE][454M]