濮阳杆衣贸易有限公司

主頁 > 知識庫 > PHP實現(xiàn)的消息實時推送功能【基于反ajax推送】

PHP實現(xiàn)的消息實時推送功能【基于反ajax推送】

熱門標簽:電話機器人銷售主要負責什么 地圖標注專員怎么樣 遼寧ai電銷機器人價格 房產(chǎn)中介用的是什么外呼系統(tǒng) 四川保險智能外呼系統(tǒng)供應商 長沙做地圖標注公司 寧波外呼營銷系統(tǒng) 福建銀行智能外呼系統(tǒng)價格 上海做外呼線路的通信公司

本文實例講述了PHP實現(xiàn)的消息實時推送功能。分享給大家供大家參考,具體如下:

入口文件index.html

!DOCTYPE HTML>
html>
head>
  title>反ajax推送/title>
  style>
    .send{color:#555;text-align: left;}
    .require{color:blue;text-align: right;}
    .content_box{text-align: center;margin: 20px;
          border: 1px solid #ddd;padding: 20px;}
  /style>
  script src="http://code.jQuery.com/jquery-1.11.2.min.js">/script>
/head>
body>
  div class="content_box" id="content_box_title" style="border: none;">消息框/div>
  div class="content_box" id="content_box">
  /div>
  div style="width: 450px;margin: 0 auto;">
    select id="username" style="font-size: 20px;">
      option value="1" selected="selected">1/option>
      option value="2">2/option>
    /select>
    input type="text" style="font-size: 20px;" value="" id="send_text">
    button id="btn_send" style="font-size: 20px;">發(fā)送/button>
    button id="btn_link" style="font-size: 20px">連接/button>
  /div>
  div class="error_tip" id="error_tip" style="color: red;">
  /div>
  script>
    $(function(){
      //發(fā)送消息
      $('#btn_send').click(function(){
        var send_text = $('#send_text').val();
        if(send_text.length = 0){
          $('#error_tip').html('不能輸入空值');
        }else{
          send(send_text);
        }
      });
      //按回車鍵發(fā)送消息
      $('#send_text').on('keyup',function(e){
        if(e.keyCode == 13){
          $('#btn_send').trigger('click');
        }
      });
      //建立通訊鏈接
      $('#btn_link').click(function(){
        connect();
        var _this = $(this);
        _this.attr('disabled',true);
        _this.html('已連接');
      });
    });
    //建立通訊連接函數(shù)
    function connect(){
      $('#content_box_title').html($('#username').val()+'的消息窗口');
      $.ajax({
        data:{'user':$('#username').val()},
        url:'ajaxPush.PHP',
        type:'get',
        timeout:0,
        dataType:'json',
        success:function(data){
          $('#content_box').append('div class="require">'+data.msg+'/div>');
          connect();
        }
      });
    }
    //發(fā)送消息函數(shù)
    function send(massege){
      var user =$('#username').val();
      $.getJSON('write.php',{'msg':massege,'user':user},function(data){
        if(data.sf){
          $('#content_box').append('div class="send">'+massege+'/div>');
          $('#send_text').val('');
        }else{
          $('#error_tip').html('輸入保存錯誤!');
        }
      });
    }
  /script>
/body>
/html>

ajax處理輸入 write.php

?php
/**
 * Created by TXM.
 * Time: 2015/4/18 13:13
 * function:
 */
$filename = dirname(__FILE__).'/data.txt';
$isread_file = dirname(__FILE__).'/isread.txt';
$user = dirname(__FILE__).'/user.txt';
//寫入消息,消息未讀,誰發(fā)送的消息
file_put_contents($filename,$_GET['msg']);
file_put_contents($isread_file,'0');
file_put_contents($user,$_GET['user']);
echo json_encode(array('sf'=>true));

長輪詢推送 ajaxPush.php

?php
/**
 * Created by TXM.
 * Time: 2015/4/18 13:12
 * function:
 */
$filename = dirname(__FILE__).'/data.txt';
$isread_file = dirname(__FILE__).'/isread.txt';
$userfile = dirname(__FILE__).'/user.txt';
$get_user = $_GET['user'] == '1'?'2':'1';
$msg='';
while(1){
  $msg = file_get_contents($filename);
  $isread = file_get_contents($isread_file);
  $user = file_get_contents($userfile);
  //是對方發(fā)送的消息,設置消息已讀,退出循環(huán)。
  if($isread == '0'  $get_user == $user){
    file_put_contents($isread_file,'1');
    break;
  }
  sleep(1);
}
echo json_encode(array('msg'=>$msg));

更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《PHP+ajax技巧與應用小結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • php+ajax實時刷新簡單實例
  • php+ajax實時輸入自動搜索匹配的方法
  • 值得分享的php+ajax實時聊天室
  • AJAX 實時讀取輸入文本(php)
  • PHP Ajax實現(xiàn)表格實時編輯
  • PHP+Ajax實時自動檢測是否聯(lián)網(wǎng)的方法
  • php+ajax實現(xiàn)無刷新動態(tài)加載數(shù)據(jù)技術
  • php采用ajax數(shù)據(jù)提交post與post常見方法總結(jié)
  • ajax處理php返回json數(shù)據(jù)的實例代碼
  • php+jQuery ajax實現(xiàn)的實時刷新顯示數(shù)據(jù)功能示例

標簽:常德 澳門 工商登記 深圳 延安 宿遷 宜春 佛山

巨人網(wǎng)絡通訊聲明:本文標題《PHP實現(xiàn)的消息實時推送功能【基于反ajax推送】》,本文關鍵詞  PHP,實現(xiàn),的,消息,實時,推送,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現(xiàn)的消息實時推送功能【基于反ajax推送】》相關的同類信息!
  • 本頁收集關于PHP實現(xiàn)的消息實時推送功能【基于反ajax推送】的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    昆山市| 江阴市| 赤峰市| 吉木萨尔县| 江安县| 河北区| SHOW| 司法| 乌海市| 任丘市| 巴青县| 海口市| 芒康县| 桐柏县| 英吉沙县| 昌黎县| 蒲江县| 尤溪县| 吐鲁番市| 锦屏县| 嘉鱼县| 赞皇县| 嵊州市| 镇平县| 田东县| 固原市| 简阳市| 自贡市| 蒲江县| 百色市| 泸溪县| 定西市| 志丹县| 仁寿县| 平和县| 武夷山市| 邢台县| 无锡市| 海阳市| 海晏县| 安新县|