導航:首頁 > 編程語言 > php推送消息到網頁

php推送消息到網頁

發布時間:2023-08-05 06:33:50

『壹』 如何編寫網頁代碼實現:只要php接收到發送的post數據,就傳給html頁面的js內

使用jQuery 的AJAX 功能即可實現;

簡單例子,先在html文件中引入 jquery。js 文件

在要顯示返回內容的地方 定義一個ID 如 。<div id="myinfo"><!--返回數據在這里顯示--></div>

functiondingshi(){
$.ajax({
type:"GET",
url:"php文件url",//文件路徑
dataType:"html",//返回格式
success:function(data){
//data既是返回內容,格式或判斷自行編寫
$('#myinfo').html(data);
});
}

在用一個定時器,定時執行這個函數即可如

setInterval("dingshi()",1000);//每隔1秒執行一次

『貳』 PHP如何接收動態數據保存並實時顯示到網頁上

頭部加上超時控制,但對於很多伺服器無效,因為伺服器輸出超時很多在伺服器控制,所以建議用cmd腳本方式運行此程序:

<?php
set_time_limit(0); //禁用腳本超時
//Createthesocketandconnect
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$connection=socket_connect($socket,'116。236。128。220',14580);
//Writesometestdatatooursocket
if(!socket_write($socket,"userNoCallpass-1verstest1.0filterb/B* "))
{
echo("<p>Writefailed</p>");
}

if(!file_exists('socket_log.html')){
file_put_contents('socket_log.html','<script>
varxx=setInterval(function(){ //每5秒刷新一次頁面
window.location.reload();
},5000);
</script>');
}

//Readanyresponsefromthesocket
while($buffer=socket_read($socket,64,PHP_NORMAL_READ))
{
echojson_encode($buffer);//轉換為json數據輸出
//記入文件
file_put_contents('socket_log.html',json_encode($buffer),FILE_APPEND);
}
echo("<p>DoneReadingfromSocket</p>");

使用方法:用命令行方式運行此腳本

phpscript.php

腳本會一直運行到接收數據結束,並持續將收到的數據寫入socket_log.html文件。

在瀏覽器打開socket_log.html頁面,此頁面會自動每5秒刷新一次,來顯示最新的數據。

確保程序有許可權創建及寫入socket_log.html文件

『叄』 php實現websocket實時消息推送

一、socket協議的簡介

WebSocket是什麼,有什麼優點

WebSocket是一個持久化的協議,這是相對於http非持久化來說的。應用層協議

舉個簡單的例子,http1.0的生命周期是以request作為界定的,也就是一個request,一個response,對於http來說,本次client與server的會話到此結束;而在http1.1中,稍微有所改進,即添加了keep-alive,也就是在一個http連接中可以進行多個request請求和多個response接受操作。然而在實時通信中,並沒有多大的作用,http只能由client發起請求,server才能返回信息,即server不能主動向client推送信息,無法滿足實時通信的要求。而WebSocket可以進行持久化連接,即client只需進行一次握手,成功後即可持續進行數據通信,值得關注的是WebSocket實現client與server之間全雙工通信,即server端有數據更新時可以主動推送給client端。

二、介紹client與server之間的socket連接原理

1、下面是一個演示client和server之間建立WebSocket連接時握手部分

2、client與server建立socket時握手的會話內容,即request與response

a、client建立WebSocket時向伺服器端請求的信息

GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket //告訴伺服器現在發送的是WebSocket協議
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== //是一個Base64 encode的值,這個是瀏覽器隨機生成的,用於驗證伺服器端返回數據是否是WebSocket助理
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com

b、伺服器獲取到client請求的信息後,根據WebSocket協議對數據進行處理並返回,其中要對Sec-WebSocket-Key進行加密等操作

HTTP/1.1 101 Switching Protocols
Upgrade: websocket //依然是固定的,告訴客戶端即將升級的是Websocket協議,而不是mozillasocket,lurnarsocket或者shitsocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= //這個則是經過伺服器確認,並且加密過後的 Sec-WebSocket-Key,也就是client要求建立WebSocket驗證的憑證
Sec-WebSocket-Protocol: chat

3、socket建立連接原理圖:

三、PHP中建立websocket的過程講解
SocketService.php:

web.html:

『肆』 PHP中怎樣發送post請求並獲取網頁

$post='POST數據';
//初始化
$curl=curl_init('URL');
$header=array();
$header[]='User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/42.0.2311.90Safari/537.36';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不輸出header頭信息
curl_setopt($curl,CURLOPT_HEADER,0);
//保存到字元串而不是輸出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post數據
curl_setopt($curl,CURLOPT_POST,1);
//請求數據
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
//是否抓取跳轉後的頁面
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;

『伍』 php如何編寫一個微信公眾平台的消息推送

給你個代碼樣例不可以直接復制使用

/**
*發送模板消息
*@param$tmpId模板ID
*@param$openId用戶openID
*@param$param模板參數
*@param$url
*@returnmixed
*@authorfjlhuman
*/
publicfunctionsendTmpMessage($tmpId,$openId,$param,$url){

$postUrl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$this->accessToken;

$arrData['touser']=$openId;
$arrData['template_id']=$tmpId;//'6OT8DDNF-CbiadTsbEKKSCZVHe_9hnhxOBT7EvURNcE';
$arrData['url']=$url;
$arrData['data']=$param;

$json=json_encode($arrData);
$result=Curl::post($postUrl,$json);

$result=json_decode($result,true);

$rData['isTure']=false;
$rData['msg']="";

if($result['errcode']==0){
$rData['isTure']=true;
$rData['msg']="發送成功";
}else{
$rData['msg']=$result['errcode'];
}
return$rData;

}

詳情請參考微信公眾平台技術文檔->模板消息介面

『陸』 PHP怎麼實現主動向客戶端發送信息

實現消息推送首先需要瀏覽器支持 websocket 協議,這是前提,然後再通過瀏覽器發起websocket 請求到伺服器,建立一條連接,這是伺服器端就可以通過這條連接向瀏覽器推送消息了。

伺服器端對websocket的支持可以通過一些第三方庫來實現,供參考

  1. hoa/websocket網頁鏈接

  2. swoole 庫

『柒』 php 怎麼使用websocket推送消息

我使用的工具是基於wokman的web-msg-sender是一款web長連接推送框架,採用PHPSocket.IO開發,基於WebSocket長連接通訊,如果瀏覽器不支持WebSocket則自動轉用comet推送。 通過後台推送消息,消息可以即時推送到客戶端,非輪詢,實時性非常好,性能很高。

下載和demo地址http://www.workerman.net/web-sender

這裡面區分服務端和客戶端,去上面地址下載源代碼,放到你服務端。使用相關命令開啟服務。

其中有一個文件是start_io.php,這個文件算是核心,裡面有怎麼發送socket消息的代碼,也會有監控用戶上下線的介面,在這個地方可以根據業務需要拓展自己的代碼需求。類似:用戶在socket檢測用戶上下線的是時候,可以http請求到自己的api層

下面我貼一下我的代碼

這個地方明確表明了監聽埠,websocket跟api在同一個伺服器上面,所以用了0.0.0.0,所以你在http服務端如果想發消息給客戶端,只需要發送到這個埠上面,socket自動會監聽到發送給客戶端。

閱讀全文

與php推送消息到網頁相關的資料

熱點內容
電腦主伺服器未運行怎麼解決 瀏覽:328
js超級瑪麗源碼 瀏覽:308
雲鏡下載什麼格式app 瀏覽:765
iosAndroidjava 瀏覽:402
外賣員轉型做程序員 瀏覽:927
看房用什麼app准 瀏覽:157
雞蛋解壓玩具測評 瀏覽:705
阿里雲發布arm伺服器晶元 瀏覽:756
對加密貨幣平台的態度 瀏覽:373
刺客信條pdf 瀏覽:453
湛江頭條程序員 瀏覽:162
裝上加密狗就死機 瀏覽:927
windows程序員轉linux 瀏覽:570
androidusb驅動xp 瀏覽:947
單片機的數字電壓表設計 瀏覽:792
成功連接伺服器是什麼意思 瀏覽:892
如何審定伺服器訪問許可權 瀏覽:687
姜梓童陳一鳴程序員 瀏覽:921
青島程序員駐場開發哪家好 瀏覽:474
stc89c52單片機介紹 瀏覽:21