图文信息和文本消息类似,只不过XML格式不同,官方API有详细的说明
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>2</ArticleCount> <Articles> <item> <Title><![CDATA[title1]]></Title> <Description><![CDATA[description1]]></Description> <PicUrl><![CDATA[picurl]]></PicUrl> <Url><![CDATA[url]]></Url> </item> <item> <Title><![CDATA[title]]></Title> <Description><![CDATA[description]]></Description> <PicUrl><![CDATA[picurl]]></PicUrl> <Url><![CDATA[url]]></Url> </item> </Articles> </xml>
参数 | 是否必须 | 说明 |
---|---|---|
ToUserName | 是 | 接收方帐号(收到的OpenID) |
FromUserName | 是 | 开发者微信号 |
CreateTime | 是 | 消息创建时间 (整型) |
MsgType | 是 | news |
ArticleCount | 是 | 图文消息个数,限制为10条以内 |
Articles | 是 | 多条图文消息信息,默认第一个item为大图,注意,如果图文数超过10,则将会无响应 |
Title | 否 | 图文消息标题 |
Description | 否 | 图文消息描述 |
PicUrl | 否 | 图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200 |
Url | 否 | 点击图文消息跳转链接 |
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<ArticleCount>2</ArticleCount>//这里设置的图文的数量
<Articles>
//第一个图文消息
<item>
<Title><![CDATA[木头的微信空间]]></Title>
<Description><![CDATA[欢迎访问木头的微信空间]]></Description>
<PicUrl><![CDATA[http://ftp162342.host242.web538.com/weixin/img/1.jpg]]></PicUrl>
<Url><![CDATA[http://ftp162342.host242.web538.com/]]></Url>
</item>
//第二个图文消息
<item>
<Title><![CDATA[关注最新资讯]]></Title>
<Description><![CDATA[微信开发]]></Description>
<PicUrl><![CDATA[http://ftp162342.host242.web538.com/weixin/img/2.png]]></PicUrl>
<Url><![CDATA[http://ftp162342.host242.web538.com/]]></Url>
</item>
</Articles>
</xml> ";
if(!empty( $keyword ))
{
$msgType = "news";//设置消息类型
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType);
echo $resultStr;
}
这样当你发送消息的时候就会自动回复给你一个图片和文字的类似于QQ新闻的消息
当然我们可以后面做自定义菜单的时候加入进去,这里只是测试,并无实际意义
关注微信账号z510168343