PHP+jquery+ajax实现即时聊天功能实例_php教程-查字典教程网
PHP+jquery+ajax实现即时聊天功能实例
PHP+jquery+ajax实现即时聊天功能实例
发布时间:2016-12-29 来源:查字典编辑
摘要:本文实例讲述了PHP+jquery+ajax实现即时聊天功能的方法。分享给大家供大家参考。具体如下:这是一个简单的利用jquery与php做...

本文实例讲述了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="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"></textarea>

<BR />

<input id="my_chat" type="text" />

<button id="chat_btn" disabled="disabled">发言</button>

</div>

<div id="mwebtime"></div>

</body>

</html>

data.php页面如下:

复制代码 代码如下:<?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页面如下:

复制代码 代码如下:<?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教程学习
    热门php教程学习
    编程开发子分类