加入收藏 | 设为首页 | 会员中心 | 我要投稿 平顶山站长网 (https://www.0375zz.cn/)- 分布式云、数据处理、媒体处理、图像分析、基础存储!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

微信公众开发之获取周边酒店信息

发布时间:2022-07-05 09:58:52 所属栏目:PHP教程 来源:互联网
导读:关注微信公众之后发送回复地理位置信息,即可回复周边附近的酒店信息列表,下面我就来给各位介绍利用php是怎么实现这个功能,希望全子对大家有帮助.代码如下: ?php //将提交过来的信息接收 $signature = $_GET[signature]; $timestamp = $_GET[timestamp]; $non
  关注微信公众之后发送回复地理位置信息,即可回复周边附近的酒店信息列表,下面我就来给各位介绍利用php是怎么实现这个功能,希望全子对大家有帮助.代码如下:
 
  <?php
   //将提交过来的信息接收
   
  $signature = $_GET['signature'];
   
   $timestamp = $_GET['timestamp'];
   
   $nonce = $_GET['nonce'];
   
   $echostr = $_GET['echostr'];
   
   $token = "yanjiadong";
   
   //判断接入网站
   
   //进行字典排序
   $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://yanjiadong.net/weixin/images/640_".$FromUserName.".png";
   }else{
   $picurl = "http://yanjiadong.net/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>";//开源代码phpfensi.com
   }
   
   $str .= "</Articles></xml>";
   
   return $str;
   }
   
  ?>
 

(编辑:平顶山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读