php微信公众开发之获取周边酒店信息的方法

前端技术 2023/09/08 PHP

本文实例讲述了php微信公众开发之获取周边酒店信息的方法。分享给大家供大家参考。具体分析如下:

关注微信公众之后发送回复地理位置信息,即可回复周边附近的酒店信息列表,下面我就来给各位介绍利用php是怎么实现这个功能,希望全子对大家有帮助.代码如下:

复制代码 代码如下:
<?php
 //将提交过来的信息接收
$signature = $_GET[\'signature\'];
 $timestamp = $_GET[\'timestamp\'];
 $nonce = $_GET[\'nonce\'];
 $echostr = $_GET[\'echostr\'];
 $token = \"phpstudy.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&center=\".$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&center=\".$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://phpstudy.net/weixin/images/640_\".$FromUserName.\".png\";
 }else{
 $picurl = \"http://phpstudy.net.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>\";
 }
 $str .= \"</Articles></xml>\";
 return $str;
 }
?>

希望本文所述对大家的php程序设计有所帮助。

本文地址:https://www.stayed.cn/item/21915

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。