微信之发送文本信息和图文信息
2015-05-09 10:50
309 查看
微信发送信息也给出了示例代码;修改下就行,就是拼接下字符串。
/* *消息 *$fromUsername 开发者微信号 *$toUsername 接收方帐号 *$keyword 关键字 *$contentStr 回复的消息内容 */ public function send_text($fromUsername, $toUsername, $contentStr) { $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; //<FuncFlag>0</FuncFlag> $time = time(); $result = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); return $result; }
/* *回复图文消息 *$fromUsername 开发者微信号 *$toUsername 接收方帐号 *$keyword 关键字 *$num 回复图文消息数量,需要大于1 *$contentStr 回复的消息内容 */ public function send_articles($fromUsername, $toUsername, $contentArr) { $articlesTpl1 = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount><![CDATA[%d]]></ArticleCount> <Articles>"; $time = time(); $num = count($contentArr); $result1 = sprintf($articlesTpl1, $fromUsername, $toUsername, $time, $num); $result2 = ""; if($num == 1) { $articlesTpl2 = "<item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <Url><![CDATA[%s]]></Url> </item>"; //<PicUrl><![CDATA[%s]]></PicUrl> //<PicUrl><![CDATA[%s]]></PicUrl> $result2 .= sprintf($articlesTpl2, $contentArr[0]['title'], $contentArr[0]['desc'], $contentArr[0]['picurl'], $contentArr[0]['url']); }else { for ($i=0; $i < $num; $i++) { $articlesTpl2 = "<item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <Url><![CDATA[%s]]></Url> </item>"; //<PicUrl><![CDATA[%s]]></PicUrl> $result2 .= sprintf($articlesTpl2, $contentArr[$i]['title'], $contentArr[$i]['desc'], $contentArr[$i]['picurl'], $contentArr[$i]['url']); } } $articlesTpl3 = "</Articles> </xml> "; $result = $result1.$result2.$articlesTpl3; return $result; }
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $msgType = trim($postObj->MsgType);
$keywords = trim($postObj->Content); $info= $op->get_news_withkeywords($keywords); if(empty($info) || $info == false) { echo "error"; exit; }else { if($info['msg_type'] == 'text') { $res = $hcwechat->send_text($fromUsername, $toUsername, $info['content']); }else { $content = array( array( 'title' => $info['title'], 'desc' => $info['digest'], //'picurl' => $info['thumb_media_id'],//这里的图片地址怎么获取到,找了几天一直没找到,我这个是订阅号,不知道行不。 'url' => $info['url'], ), ); $res = $hcwechat->send_articles($fromUsername, $toUsername, $content); } echo $res; exit; }因为我这里发送一个编号只获取一条信息,所以只需要发送单图文信息就可以了,上面的多图文只是为了以防万一,以及自己多动点手。当然可以不用判断是否多图文,我这里都是单图文,所以我做了一个判断;
相关文章推荐
- C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)
- 微信开发怎么被动发送图文消息用户输入信息之后回复
- c# 微信模拟登录抓取公共帐号发送图文信息
- 微信开发(一)-配置环境并发送文本信息
- c# 微信模拟登录抓取公共帐号发送图文信息
- C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)
- shell实现发送微信文本信息
- 微信开发第七篇发送素材(图文)信息
- 基于微信会话发送会话信息和图文信息
- PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
- C#-MVC开发微信应用(3)--文本消息和图文消息的应答
- 网页微信配合谷歌浏览器实现自动发送信息
- 微信将禁止发送这类信息 违者封号
- C#开发微信门户及应用(3)--文本消息和图文消息的应答
- Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈
- 微信模板信息发送给用户(JAVA)
- 微信图文发送
- 局域网内不同的linux之间如何发送文本信息
- 点击微信图文信息跳转至外部链接
- Windows Phone版微信,在朋友圈发送仅文本内容