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


Posted in PHP onDecember 22, 2014

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

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

<?php 

 //将提交过来的信息接收 

$signature = $_GET['signature']; 

 $timestamp = $_GET['timestamp']; 

 $nonce = $_GET['nonce']; 

 $echostr = $_GET['echostr']; 

 $token = "3water.com"; 

 //判断接入网站 

 

 //进行字典排序 

 $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://3water.com/weixin/images/640_".$FromUserName.".png"; 

 }else{ 

 $picurl = "http://3water.com.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写的serv-u的web申请账号的程序
Oct 09 PHP
开源SNS系统-ThinkSNS
May 18 PHP
JS 网站性能优化笔记
May 24 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
PHP闭包(Closure)使用详解
May 02 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
PHP 转义使用详解
Jul 15 PHP
PHP header()函数常用方法总结
Apr 11 PHP
typecho插件编写教程(五):核心代码
May 28 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
PHP实现更改hosts文件的方法示例
Aug 08 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 #PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 #PHP
WebQQ最新登陆协议的用法
Dec 22 #PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 #PHP
php有道翻译api调用方法实例
Dec 22 #PHP
php匹配字符中链接地址的方法
Dec 22 #PHP
php用户注册时常用的检验函数实例总结
Dec 22 #PHP
You might like
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
用PHP实现验证码功能
2006/10/09 PHP
PHP中,文件上传
2006/12/06 PHP
ThinkPHP控制器详解
2015/07/27 PHP
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
JavaScript File分段上传
2016/03/10 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
浅谈js闭包理解
2019/03/28 Javascript
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
python图像和办公文档处理总结
2019/05/28 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
EJB的角色和三个对象
2015/12/31 面试题
大学四年规划书范文
2013/12/27 职场文书
工程业务员岗位职责
2013/12/31 职场文书
粗加工管理制度
2014/02/04 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
小学生差生评语
2014/12/29 职场文书
应聘教师求职信范文
2015/03/20 职场文书
女方离婚起诉书
2015/05/18 职场文书
宿舍管理制度范本
2015/08/07 职场文书
学校就业保障协议书
2019/06/24 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python