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去除数组中重复的元素并按键名排序函数
Aug 18 PHP
Smarty Foreach 使用说明
Mar 23 PHP
Discuz!下Memcache缓存实现方法
May 28 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
PHP中feof()函数实例测试
Aug 23 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
php导入excel文件到mysql数据库的方法
Jan 14 PHP
php实现的RSS生成类实例
Apr 23 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
Oct 31 PHP
PHP中的self关键字详解
Jun 23 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
PHP 闭包详解及实例代码
2016/09/28 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
Python中base64与xml取值结合问题
2019/12/22 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
python怎么判断素数
2020/07/01 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
医学专业大学生求职的自我评价
2013/11/27 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
建筑工地大门标语
2014/06/18 职场文书
出国签证在职证明
2014/09/20 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
美丽的大脚观后感
2015/06/03 职场文书
初中思想品德教学反思
2016/02/24 职场文书
入团申请书格式
2019/06/20 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
导游词之昭君岛
2020/01/17 职场文书
python基础之类方法和静态方法
2021/10/24 Python