《PHP學習:php微信公眾開發之獲取周邊酒店信息的方法》要點:
本文介紹了PHP學習:php微信公眾開發之獲取周邊酒店信息的方法,希望對您有用。如果有疑問,可以聯系我們。
PHP教程本文實例講述了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?uid=".$v['uid']."&output=html&src=".$v['name']."&output=html]]></Url>
?</item>";
?}
?$str .= "</Articles></xml>";
?return $str;
?}
?>
PHP教程希望本文所述對大家的php程序設計有所贊助.
歡迎參與《PHP學習:php微信公眾開發之獲取周邊酒店信息的方法》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/13223.html