php微信公众开发之获取周边酒店信息的方法
php微信公众开发之获取周边酒店信息的方法
发布时间:2016-12-29 来源:查字典编辑
摘要:本文实例讲述了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://jb51.net/weixin/images/640_".$FromUserName.".png";

}else{

$picurl = "http://jb51.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".$v['uid']."&output=html&src=".$v['name']."&output=html]]></Url>

</item>";

}

$str .= "</Articles></xml>";

return $str;

}

?>

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类