A. 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;

}

详情请参考微信公众平台技术文档->模板消息接口

B. php 定时推送消息怎么做

这个要用到服务器系统的计划任务,如果是linux服务器 的cron。代码实现是非常消耗性能的,需要不停的循环执行。

C. 如何在php中用百度云推送进行消息的推送

在php中用网络云推送进行消息的推送的方法
1.Android端推送
// 创建Android SDK对象.
$asdk = new \Vendor\pushsdk\PushSDK(); //自己引入网络云推送的SDK,官网上有文档详细介绍
$channelId = $channelrows;
$message = array (
// 消息的标题.
'title' => $title,
// 消息内容
'description' => $brief,
//传广告id,可以通过键值对的形式传多个值
'custom_content'=>array('id'=>$id),
);
// 设置消息类型为通知类型.
$opts = array (
'msg_type' => 1,
);
// 向目标设备发送一条消息(群发,指的是通过前面的筛选之后的channelId进行的大量的推送)
$rs = $asdk -> pushBatchUniMsg($channelId, $message, $opts);
// 判断返回值,当发送失败时, $rs的结果为false, 可以通过getError来获得错误信息.
if($rs === false)
{
print_r($asdk->getLastErrorCode());
print_r($asdk->getLastErrorMsg());
}
else{echo "success!";}
2.IOS推送
// 创建Ios SDK对象.
$isdk = new \Vendor\ipushsdk\IPushSDK();
$channelId = $channelrows;
$message = array (
'aps' => array(
'alert' => $brief, // 消息内容
),
'id' =>$id, //账号ID,这边能够以键值对的形式可以传多个值
);
// 设置消息类型为 通知类型.
$opts = array (
msg_type' => 1,
'deploy_status' => 2, //2是生产状态,刚开始开发测试时需要设置成1进行测试
);
$rs = $isdk->createTag('tag_new'); //通过创建标签的方式来实现群发的功能
if($rs !== false)
{
if($isdk -> addDevicesToTag('tag_new',$channelId) !== false)
{
// 发送
$rs = $isdk -> pushMsgToTag('tag_new',$message,$opts);
//删除标签
$delRs = $isdk->deleteTag('tag_new');
//判断返回值,当发送失败时, $rs的结果为false, 可以通过getError来获得错误信息.
if($rs === false)
{
print_r($isdk->getLastErrorCode());
print_r($isdk->getLastErrorMsg());
}
else{echo "success!";}
}
}

D. php怎么实现实时推送呢

网络云推送可以实现你这种需求,可以指定推给某个ID,也可以指定推给哪个组,还可以推给所有人我们用极光推送,客户端和服务端配置的都简单,有Demo可直接运行的.
demo可以直接运行的(有个main方法测试的)
不过,如果不是一定要实时消息,还是不要用这种第三方的推送服务器了,毕竟是人家的服务器
而且推送次数,频率什么的都有限制,还不如你在移动端做轮询处理,即1分钟请求一下服务器,或者30秒请求一下服务器,看看有没有数据什么的.
当然也可以自己搭建推送服务器,xmpp协议什么的.好复杂
用极光推送你试试。
更多问题到问题求助专区(http://bbs.hounwang.com/)

E. 百度推送 php怎么弄

PHP版的网络推送,网络已经给了我们示例了,直接设置就好了。
$urls = array(
'http://www.zhaoqipei.com/b2b/article/content/943.jhtml,
'http://www.zhaoqipei.com/b2b/article/content/941.jhtml',
);
$api = 'http://data.zz..com/urls?site=www.zhaoqipei.com&token=xxxxxx;
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;

F. 如何在php后端及时推送消息给客户端

后端代码
push.php

<?php
useWorkermanWorker;
require_once'./Workerman/Autoloader.php';
//初始化一个worker容器,监听1234端口
$worker=newWorker('websocket://0.0.0.0:1234');
//这里进程数必须设置为1
$worker->count=1;
//worker进程启动后建立一个内部通讯端口
$worker->onWorkerStart=function($worker)
{
//开启一个内部端口,方便内部系统推送数据,Text协议格式文本+换行符
$inner_text_worker=newWorker('Text://0.0.0.0:5678');
$inner_text_worker->onMessage=function($connection,$buffer)
{
global$worker;
//$data数组格式,里面有uid,表示向那个uid的页面推送数据
$data=json_decode($buffer,true);
$uid=$data['uid'];
//通过workerman,向uid的页面推送数据
$ret=sendMessageByUid($uid,$buffer);
//返回推送结果
$connection->send($ret?'ok':'fail');
};
$inner_text_worker->listen();
};
//新增加一个属性,用来保存uid到connection的映射
$worker->uidConnections=array();
//当有客户端发来消息时执行的回调函数
$worker->onMessage=function($connection,$data)use($worker)
{
//判断当前客户端是否已经验证,既是否设置了uid
if(!isset($connection->uid))
{
//没验证的话把第一个包当做uid(这里为了方便演示,没做真正的验证)
$connection->uid=$data;
/*保存uid到connection的映射,这样可以方便的通过uid查找connection,
*实现针对特定uid推送数据
*/
$worker->uidConnections[$connection->uid]=$connection;
return;
}
};

//当有客户端连接断开时
$worker->onClose=function($connection)use($worker)
{
global$worker;
if(isset($connection->uid))
{
//连接断开时删除映射
unset($worker->uidConnections[$connection->uid]);
}
};

//向所有验证的用户推送数据
functionbroadcast($message)
{
global$worker;
foreach($worker->uidConnectionsas$connection)
{
$connection->send($message);
}
}

//针对uid推送数据
functionsendMessageByUid($uid,$message)
{
global$worker;
if(isset($worker->uidConnections[$uid]))
{
$connection=$worker->uidConnections[$uid];
$connection->send($message);
returntrue;
}
returnfalse;
}

//运行所有的worker(其实当前只定义了一个)
Worker::runAll();


启动后端服务
phppush.phpstart-d

前端接收推送的js代码
varws=newWebSocket('ws://127.0.0.1:1234');
ws.onopen=function(){
varuid='uid1';
ws.send(uid);
};
ws.onmessage=function(e){
alert(e.data);
};

后端推送消息的代码

//建立socket连接到内部推送端口
$client=stream_socket_client('tcp://127.0.0.1:5678',$errno,$errmsg,1,STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);
//推送的数据,包含uid字段,表示是给这个uid推送
$data=array('uid'=>'uid1','percent'=>'88%');
//发送数据,注意5678端口是Text协议的端口,Text协议需要在数据末尾加上换行符
fwrite($client,json_encode($data)." ");
//读取推送结果
echofread($client,8192);

这里的uid不一定是用户的id,也可以理解为任务id即 taskid

以上代码亲测可以直接使用

G. php如何实现服务器推送技术,即时把信的数据发送到客户端。

主要有三种方案
第一种是利用第三方的API来实现信息推送,主要包括环信、网络云推送、leancloud等
第二种通过javascript的setTimeout或者setInterval来实现,同理PHP端也可以用守护进程来实现
第三种通过Linux的计划任务来实时推送需要消息

H. php中怎么用curl推送数据,每次推送一次

直接基于curl发起请求就可以了,至于每次推送一次的需求,你可以通过定时去做,每次
只执行一遍即可。

关于phpcurl更多内容,请参考我的博客《PHPcURL实现模拟登录与采集使用方法详解教程》

I. php+js 如何实现 推送功能啊

推送是指 App的推送吗?如果是的话,恐怖比较难以用PHP+JS来实现,任何技术都有擅长和不擅长的领域。

如果是要做PHP推送的话,nodejs / goLang / C++ 这些建立长链接会比较合适。