微信开发
来源:互联网 发布:淘宝刀具 编辑:程序博客网 时间:2024/05/22 04:54
<?phpdefine("TOKEN","zhaohao");if(isset($_GET['echostr'])){ //实现网址接入,调用valid函数 valid(); }else{ responseMsg(); //调用响应消息函数 }//验证消息function valid(){ if(checkSignature()){ $echostr = $_GET['echostr']; if($echostr){ echo $echostr; exit; }else{ echo "error"; exit; } } }//检查签名function checkSignature(){$signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN;$tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rulesort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true; }else{ return false; } }//回应消息 function responseMsg(){ //1.接受微信服务器传来的post $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if(!$postStr){ echo "error"; exit; } //2.解析xml数据包 $obj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA); //1)获得接收者的信息 //$ToUserName=$obj->ToUserName; //1)获得发送者的信息 //$FromUserName=$obj->FromUserName; //发送来的类型 $MsgType=$obj->MsgType; switch($MsgType){ case "event": switch($obj->Event){ case "subscribe": $reply="“欢迎关注我,谢谢”\r\n回复“新闻”,查看新闻\r\n也可当做简易计算器使用,例如输入“103+22”"; echo replyText($obj,$reply); break; case "unsubscribe": break; } break; case "text": $content=$obj->Content; preg_match('/(\d+)([+-])(\d+)/i',$content,$res); if($res[2]=='+'){ echo jsq($obj,$content); } else{ switch($content){ case "新闻": echo replyNews($obj); break; case "点歌": echo replyMusic($obj); break; } } break; default: break; } }function replyText($obj,$reply){ //preg_match('/(\d+)([+-])(\d+)/i',$content,$res); //if($res[2]=='+'){ // $result1=$res[1]+$res[3]; // }else if($res[2]=='-'){ // $result1=$res[1]-$res[3]; // } $replyxml="<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $result=sprintf($replyxml,$obj->FromUserName,$obj->ToUserName,time(),$reply); return $result; }//计算器 function jsq($obj,$content){ preg_match('/(\d+)([+-])(\d+)/i',$content,$res); if($res[2]=='+'){ $result1=$res[1]+$res[3]; }else if($res[2]=='-'){ $result1=$res[1]-$res[3]; } $replyxml="<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $result=sprintf($replyxml,$obj->FromUserName,$obj->ToUserName,time(),$result1); return $result; }//新闻function replyNews($obj){ $replyxml="<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>2</ArticleCount> <Articles> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> </Articles> </xml> "; $title1="zyh"; $title2="yxy"; $description1="zyhde"; $description2="yxyde"; $picur1="http://1.zhaohao.applinzi.com/img/psb.jpg"; $picur2="http://1.zhaohao.applinzi.com/img/timg.jpg"; $url1="https://www.baidu.com/"; $url2="https://www.baidu.com/"; $result=sprintf($replyxml,$obj->FromUserName,$obj->ToUserName,time(),$title1,$description1,$picur1,$url1,$title2,$description2,$picur2,$url2); return $result; } function replyMusic($obj){ $replyxml="<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[music]]></MsgType> <Music> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <MusicUrl><![CDATA[%s]]></MusicUrl> <HQMusicUrl><![CDATA[%s]]></HQMusicUrl> </Music> </xml>"; $title="勋章"; $des="zyhde"; $murl="http://1.zhaohao.applinzi.com/music/1.mp3"; $hmurl="http://1.zhaohao.applinzi.com/music/1.mp3"; $result=sprintf($replyxml,$obj->FromUserName,$obj->ToUserName,time(),$title,$des,$murl,$hmurl); return $result; }
0 0
- 微信平台开发
- 关于微信开发
- 微信开发技术
- 微信接口开发
- 微信开发接入
- 微信开发指南
- 微信基础开发
- 博客 微信开发
- 微信开发 项目
- 微信开发
- 微信开发地址
- 微信网页开发
- 微信平台开发
- 微信开发入门
- 微信后台开发
- 微信开发
- 微信开发手记
- 微信开发相关内容
- 412. Fizz Buzz
- Linux 批量杀死 进程
- 数据结构:实验八(图的操作及入度和出度的计算)
- mysql中创建表的注意事项和好的习惯
- JAVA变量(待完善)
- 微信开发
- C++菜鳥的成長之路(3)——Linux下的socket編程(2)
- LeetCode (Spiral Matrix II)
- openstack heat部署
- Hibernate: user is not mapped
- PHP表单处理与文件保存
- Unity3D中[SerializeField]特性的使用
- js与form交互方式总结
- [LeetCode