摘要:本文将带你了解微信开发示例之简单的回显当前的时间,希望本文对大家学微信有所帮助。
概述
这是一个简单的微信开发示例,当用户的输入不为空的时候,公众号将会向用户显示当前的时间。
源码
<?php define("ToKEN", "weixin"); //定义一个常量 $wechatObj = new wechatCallbackapiTest(); //标准模版 if (isset($_GET['echostr'])) { //echo $_GET['echostr']; $wechatObj->valid(); } else { $wechatObj->responseMsg(); } class wechatCallbackapiTest { 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; //微信token $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); //对数组进行排序 $tmpStr = implode($tmpArr); //将一个一维数组的值转化为字符串 $tmpStr = sha1($tmpStr); //计算字符串的 sha1 散列值 if ($tmpStr == $signature) { return true; } else { return false; } } //发送信息 public function responseMsg() { /** * 基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的, * 你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等 */ $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)) { //检查一个变量是否为空 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); /** * 用户的OpenID,不是惟一的,相同的用户关注不同的公众账号后, * 获取的OpenID是不同的。 */ $fromUsername = $postObj->FromUserName; //发送方微信号(openid) $toUsername = $postObj->ToUserName; //开发者微信公共账号 $keyword = trim($postObj->Content); $time = time(); //返回当前的 Unix 时间戳 //返回给微信服务器的模版 $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 (!empty($keyword)) { $msgType = "text"; //返回的信息类型 $contentStr = "当前时间: " . date("Y-m-d H:i:s", time()); $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); //格式化字符串 echo $resultStr; } } else { echo "获取的信息为空"; exit; } } }
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号