php获取微信回调为空

方式1:

$GLOBALS['HTTP_RAW_POST_DATA']

 

方式2:

//获取返回的xml

$testxml = file_get_contents("php://input");

//将xml转化为json格式

$jsonxml = json_encode(simplexml_load_string($testxml, 'SimpleXMLElement', LIBXML_NOCDATA));

//转成数组

$result = json_decode($jsonxml, true);

我这边试了上面2个方法取到都为空 自己写了个方法

    
    //获取 REQUEST_URI
    $REQUEST_URI = $_SERVER['REQUEST_URI'];
    getParam($REQUEST_URI);
    

    function getParam($request_uri){
        //截取?
        $data = explode("?",$request_uri);
        if(count($data) <= 1){
            return [];
        }
        $data = $data[1];
        $data = explode("&",$data);
        $res = [];
        foreach ($data as $v){
            $item = explode("=",$v);
            $res[$item[0]] = urldecode($item[1]);
        }
        return $res;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
企业微信回调是指企业微信服务器向开发者服务器推送特定事件时,开发者服务器需要响应的接口。PHP作为一种常用的服务器端语言,可以使用以下步骤进行企业微信回调的开发: 1. 在企业微信管理后台中配置回调URL和Token,并启用相应的回调类型。 2. 在PHP中编写处理回调请求的代码,可以使用$_GET和$_POST全局变量获取回调参数,如以下示例: ``` $token = "your_token"; $signature = $_GET["msg_signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $xml = file_get_contents("php://input"); // 验证请求签名 $sig = array($token, $timestamp, $nonce, $xml); sort($sig, SORT_STRING); $sig_str = implode($sig); $sha1 = sha1($sig_str); if ($sha1 != $signature) { echo "Invalid signature"; exit; } // 解析回调事件 $data = simplexml_load_string($xml); // 处理回调事件 // ... ``` 3. 根据回调类型处理不同的回调事件,如以下示例: ``` switch ($data->MsgType) { case "text": // 处理文本消息 // ... break; case "event": switch ($data->Event) { case "click": // 处理点击菜单事件 // ... break; case "view": // 处理跳转链接事件 // ... break; // 其他事件类型 // ... } break; // 其他消息类型 // ... } ``` 4. 最后,根据回调处理结果返回响应给企业微信服务器,如以下示例: ``` echo "success"; ``` 以上是PHP开发企业微信回调的基本流程,具体实现还需要根据业务需求进行适当修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值