简单的实现微信平台开发 使用说明:新手入门很适合的,你可以看我转载的博客:http://my.oschina.net/xz360/blog/341169 也可以去看官网的文档:http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5 无 ?phpdefine ( "TOKEN", "weixin" );$wech
简单的实现微信平台开发
使用说明:新手入门很适合的,你可以看我转载的博客:http://my.oschina.net/xz360/blog/341169
也可以去看官网的文档:http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5
<?php define ( "TOKEN", "weixin" ); $wechatObj = new wechatCallbackapiTest (); if (isset ( $_GET ['echostr'] )) { $wechatObj->valid (); } else { $wechatObj->responseMsg (); } class wechatCallbackapiTest { // 验证Token public function valid() { $echoStr = $_GET ["echostr"]; if ($this->checkSignature ()) { 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_STRING ); $tmpStr = implode ( $tmpArr ); $tmpStr = sha1 ( $tmpStr ); if ($tmpStr == $signature) { return true; } return false; } /* 回应 */ public function responseMsg() { $postStr = $GLOBALS ["HTTP_RAW_POST_DATA"]; if (! empty ( $postStr )) { $postObj = simplexml_load_string ( $postStr, 'SimpleXMLElement', LIBXML_NOCDATA ); $RX_TYPE = trim ( $postObj->MsgType ); switch ($RX_TYPE) { //接收关注/取消关注、扫描带参数二维码【未关注时,进行关注后、用户已关注】、上报地理位置、自定义菜单【点击菜单拉取消息、点击菜单跳转链接】 case "event" : $result = $this->receiveEvent ( $postObj ); break; //接收普通的文字、图片、媒体消息 case "text" : $result = $this->receiveText ( $postObj ); break; } echo $result; } else { echo ""; exit (); } } // 处理接收到用户发送的消息 private function receiveEvent($object) { $content = ""; switch ($object->Event) { //关注 case "subscribe" : $content = "感谢您的关注,本账号目前还\n在测试阶段,给您带来的不便请谅解!"; break; //取消关注 case 'unsubscribe': $content = "欢迎您再次关注我们“女人要懂得爱自己”!"; break; } if (is_array ( $content )) { $result = $this->transmitNews ( $object, $content ); } else { $result = $this->transmitText ( $object, $content ); } return $result; } /* 处理接收到的文本 */ private function receiveText($object) { $keyword = trim ( $object->Content ); if (strstr ( $keyword, "四六级" ) || strstr ( $keyword, "英语" )) { $content = array (); $content [] = array ( "Title" => "2014年6月全国大学英语四六级考试成绩查询", "Description" => "", "PicUrl" => "http://img003.21cnimg.com/photos/album/20141104/m600/B2579ABF2B905FA793C6756A59044992.jpeg", "Url" => "http://apix.sinaapp.com/cet/index.php?openid=" . $object->FromUserName ); $content [] = array ( "Title" => "刘强东带奶茶妹妹看牙 两人旁若无人地忘情缠绵(图)", "Description" => "", "PicUrl" => "", "Url" => "http://news.21cn.com/social/shixiang/a/2014/1105/11/28502924.shtml" ); } else { $content = date ( "Y-m-d H:i:s", time () ) . "\n目前正在测试阶段"; } if (is_array ( $content )) { $result = $this->transmitNews ( $object, $content ); } else { $result = $this->transmitText ( $object, $content ); } return $result; } /* 输出文章 */ private function transmitText($object, $content) { $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $result = sprintf ( $textTpl, $object->FromUserName, $object->ToUserName, time (), $content ); return $result; } /* 输出图文 */ private function transmitNews($object, $arr_item) { if (! is_array ( $arr_item )) return; $itemTpl = " <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> "; $item_str = ""; foreach ( $arr_item as $item ) $item_str .= sprintf ( $itemTpl, $item ['Title'], $item ['Description'], $item ['PicUrl'], $item ['Url'] ); $newsTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <Content><![CDATA[]]></Content> <ArticleCount>%s</ArticleCount> <Articles> $item_str </Articles> </xml>"; $result = sprintf ( $newsTpl, $object->FromUserName, $object->ToUserName, time (), count ( $arr_item ) ); return $result; } } ?>
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
2 몇 주 전ByDDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구
