php微信公众开发之获取周边酒店信息的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-04 15:25:49 浏览: 评论:0
这篇文章主要介绍了php微信公众开发之获取周边酒店信息的方法,涉及针对微信公众平台关于地理信息的应用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
本文实例讲述了php微信公众开发之获取周边酒店信息的方法。分享给大家供大家参考。具体分析如下:
关注微信公众之后发送回复地理位置信息,即可回复周边附近的酒店信息列表,下面我就来给各位介绍利用php是怎么实现这个功能,希望全子对大家有帮助.代码如下:
- <?php
- //将提交过来的信息接收
- $signature = $_GET['signature'];
- $timestamp = $_GET['timestamp'];
- $nonce = $_GET['nonce'];
- $echostr = $_GET['echostr'];
- $token = "jb51.net";
- //判断接入网站
- //进行字典排序
- $arr = array($token,$timestamp,$nonce);
- sort($arr);
- //完成字符串的拼接和sha1加密
- $result = sha1(join($arr));
- //判断生成的字符串和$signature是否相等,如果相等,直接输出$echostr,这样网站接入成功
- if($result==$signature){
- echo $echostr;
- }
- //接收微信公众账号接收到的信息
- $poststr = $GLOBALS["HTTP_RAW_POST_DATA"];
- $xmlObj = simplexml_load_string($poststr,'SimpleXMLElement',LIBXML_NOCDATA);
- $ToUserName = $xmlObj->ToUserName;
- $FromUserName = $xmlObj->FromUserName;
- $CreateTime = $xmlObj->CreateTime;
- $MsgType = $xmlObj->MsgType;
- $Content = $xmlObj->Content;
- if($MsgType=='location'){
- $Location_X = $xmlObj->Location_X;
- $Location_Y = $xmlObj->Location_Y;
- $Scale = $xmlObj->Scale;
- $Label = $xmlObj->Label;
- $urlstr = "http://api.map.baidu.com/place/v2/search?&query=酒店&location=".$Location_X.",".$Location_Y."&radius=5000&output=json&ak=DESY8unmZnUlLB0mlowjuiRr"; //此处ak参数需要个人的百度开发序列号,自己去百度申请下就好了
- $jsonstr = file_get_contents($urlstr);
- $json = json_decode($jsonstr,true);
- $pic_640 = "http://api.map.baidu.com/staticimage?width=640&height=320¢er=".$Location_Y.",".$Location_X."&zoom=15&markers=".$Location_Y.",".$Location_X."&markerStyles=l,";
- $pic_80 = "http://api.map.baidu.com/staticimage?width=80&height=80¢er=".$Location_Y.",".$Location_X."&zoom=15&markers=".$Location_Y.",".$Location_X."&markerStyles=l,";
- $p_640 = file_get_contents($pic_640);
- file_put_contents('./images/640_'.$FromUserName.".png",$p_640);
- $p_80 = file_get_contents($pic_80);
- file_put_contents('./images/80_'.$FromUserName.".png",$p_80);
- echo pic_send($json['results']);
- }
- function pic_send($arr){
- global $ToUserName,$FromUserName;
- $str = "<xml>
- <ToUserName><![CDATA[".$FromUserName."]]></ToUserName>
- <FromUserName><![CDATA[".$ToUserName."]]></FromUserName>
- <CreateTime>".time()."</CreateTime>
- <MsgType><![CDATA[news]]></MsgType>
- <ArticleCount>".count($arr)."</ArticleCount>
- <Articles>";
- foreach($arr as $k=>$v){
- if($k==0){
- $picurl = "http://www.phpfensi.com/weixin/images/640_".$FromUserName.".png";
- }else{
- $picurl = "http://www.phpfensi.com/weixin/images/80_".$FromUserName.".png";
- }
- $str .="
- <item>
- <Title><![CDATA[".$v['name']." 地址:".$v['address']." 电话:".$v['telephone']."]]></Title>
- <Description><![CDATA[".$v['name']." 地址:".$v['address']." 电话:".$v['telephone']."]]></Description>
- <PicUrl><![CDATA[".$picurl."]]></PicUrl>
- <Url><![CDATA[http://api.map.baidu.com/place/detail?uid=".$v['uid']."&output=html&src=".$v['name']."&output=html]]></Url>
- </item>";
- }
- $str .= "</Articles></xml>";
- return $str;
- }
- ?>
希望本文所述对大家的php程序设计有所帮助。
Tags: php微信公众酒店
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)