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实现jQuery扩展函数
Oct 30 PHP
PHP企业级应用之常见缓存技术篇
Jan 27 PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
Sublime里直接运行PHP配置方法
Nov 28 PHP
基于PHP实现数据分页显示功能
May 26 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
php学习笔记之mb_strstr的基本使用
Feb 03 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
php中session与cookie的比较
2015/01/27 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
妇科医生自荐信
2013/11/05 职场文书
小学生环保倡议书
2014/05/15 职场文书
公司收款委托书范本
2014/09/20 职场文书
欢迎家长标语
2014/10/08 职场文书
先进人物事迹材料
2014/12/29 职场文书
物流业务员岗位职责
2015/04/03 职场文书
欢送领导祝酒词
2015/08/12 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python