ホームページ >バックエンド開発 >PHPチュートリアル >PHP+jquery+ajax によるインスタント チャット機能の実装例、jqueryajax_PHP チュートリアル

PHP+jquery+ajax によるインスタント チャット機能の実装例、jqueryajax_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:10:58920ブラウズ

PHP+jquery+ajax によるインスタントチャット機能の実装例、jqueryajax

この記事の例では、PHP+jquery+ajaxを使用してインスタントチャット機能を実装する方法を説明します。参考のためにみんなで共有してください。詳細は以下の通りです

これは、jquery と php を使用したチャット ルームの単純なソース コードです。ここでは、ajax を使用してデータベースを定期的に読み取り、以下のソース コードを参照してください。

index.html ページは次のとおりです:


コードをコピーします コードは次のとおりです:

無題のドキュメント <スクリプト src="js/jquery-1.9.1.min.js"> <スクリプト> var チャット = {
init:function(){
チャット.ファースト(); $('#chat_btn').unbind('click').click(function(){
チャット.send(); }); $('#my_chat').keyup(function(){
If(event.keyCode == 13){
チャット.send(); }
});
}、
最初:関数(){
$.getJSON('data.php',{
アクション:「最初」、
タイプ:「l」
},関数(データ){
Chat.btn_status._true(); $('#mwebtime').html(data.time); $('#チャットテキストエリア').val(data.chat); $('#チャットテキストエリア').stop(true,true).animate({scrollTop:9999}, 1); チャット.ソケット(); }); }、
send:function(){
chat.btn_status._false(); $.getJSON('send.php',{
txt:$('#my_chat').val()、
タイプ:「l」
},関数(データ){
If(data.status==200){
Chat.btn_status._false(); $('#my_chat').val(''); setTimeout(function(){
Chat.btn_status._true(); },2000); }
}); }、
ソケット:関数(){
$.getJSON('data.php',{
アクション:「ながら」、
タイプ:「l」
},関数(データ){
$('#mwebtime').html(data.time); $('#チャットテキストエリア').val(data.chat); $('#チャットテキストエリア').stop(true,true).animate({scrollTop:9999}, 1); チャット.ソケット(); }); }、
btn_status:{
_false:function(){
$('#chat_btn').html('待機中').attr('無効',true); }、
_true:function(){
$('#chat_btn').html('speak').attr('無効',false); }
}
}
チャット.init();





data.php ページは次のとおりです:



コードをコピーします

コードは次のとおりです:
header("有効期限: 1997 年 7 月 26 日月曜日 05:00:00 GMT"); 
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
header("キャッシュ制御: キャッシュなし、再検証が必要"); 
header("Pramga: キャッシュなし");
set_time_limit(0);
$get = $_GET['アクション'];
$type = $_GET['type'];
$file = $type.'.txt';
if(isset($get) && isset($type) && file_exists($file)){
 スイッチ($get){
  ケース「最初」:
   $chat = file_get_contents($file);
   $json=array(
    'ステータス' => 200、
    '時間' => gmdate("s")、
    'チャット' => $チャット、
   );
   エコー json_encode($json);
   休憩;
  ケース「その間」:
   $oldsize = ファイルサイズ($file);
   $newsize = ファイルサイズ($file);
   while(true){
    if($oldsize!=$newsize){
     $chat = file_get_contents($file);
     $json=array(
      'ステータス' => 200、
      '時間' => gmdate("s")、
      'チャット' => $チャット、
     );
     エコー json_encode($json);
     出口;
    }
    クリアスタットキャッシュ();
    $newsize = ファイルサイズ($file);
    usleep(10000);
   }
   壊す;
 }
}
?>

send.php页面如下:

复制代码代码如下:
$json = 配列();
$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".'管理者:'.$txt;
  //$str = $txt."n"//linux;
  fwrite($fp, $str);
  fclose($fp);
  $json['ステータス']=200;
  エコー json_encode($json);
  出口;
 }
}
?>

ここで説明されている大家向けの php プログラムの設計が役立つことを望みます。

http://www.bkjia.com/PHPjc/932074.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/932074.html技術記事 PHP+jquery+ajax で即時テン機能を実現する例、jqueryajax では、PHP+jquery+ajax で即時テン機能を実現する方法について説明します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。