微信公众平台PHP示例一
2015-12-19 09:28
591 查看
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2015-12-18 * Time: 21:51 */ define("TOKEN","weixin"); $wechatobj = new wechatCallbackapiTest(); if(isset($_GET['echostr'])){ $wechatobj->valid(); } else { $wechatobj->responseMsg(); } class wechatCallbackapiTest { public function valid() { $echoStr=$_GET["echostr"]; if($this->checkSignature()){ header('content-type:text'); echo $echoStr; exit; } } private function checkSignature() { $signature=$_GET["signature"]; $timestamp=$_GET["timestamp"]; $nonce=$_GET["nonce"]; $token=TOKEN; $tmpArr=array($token,$timestamp,$nonce); sort($tmpArr,sort_strin); $tmpStr=implode($tmpArr); $tmpStr=sha1($tmpStr); if($tmpStr==$signature) { return true; } else { return false; } } public function responseMsg() { $postStr=$GLOBALS["http_raw_post_data"]; if(!empty($postStr)) { $postObj=simplexml_load_string($postStr,'Simp',LIBXML_NOCDATA)); $fromUsername=$postObj->FromUserName; $toUsername=$postObj->ToUsername; $keyword=trim($postObj->Content); $time=time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; if($keyword=="?" || $keyword=="?") { $msgType="text"; $contentStr=date("y-m-d h:i:s",time()); $resultStr=sprintf($textTpl,$fromUsername,$toUsername); echo $resultStr; } } else { echo ""; exit; } } }
相关文章推荐
- 微信WeixinJSBridge API使用实例
- 支付宝支付 微信支付的小坑(2)
- CSDN博客QQ加群、微信
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
- 微信支付和支付宝支付 买票问题的锁定问题
- mac 搭建 内网微信服务 ngrok
- Android 超高仿微信图片选择器 图片该这么加载
- Fragment+ViewPager实现仿微信点击和滑动切换界面
- js 判断微信浏览器(转)
- Java小程序
- 微信公众平台开发(102) 模板消息
- 微信多客服
- QQ公众号如何正确接收消息并被动响应消息
- 微信分享到朋友圈or聊天列表
- PHP判断当前访问的是 微信、iphone、android 浏览器
- QQ公众号如何获取接口调用凭据
- OAuth2.0微信code获取失败怎么办
- QQ公众号接口使用要求
- 着手微信企业号的一些尝试
- CSDN博客QQ加群、微信