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 引用文件技巧
Mar 02 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
Nov 24 PHP
PHP实现简单数字分页效果
Jul 26 PHP
PHP封装CURL扩展类实例
Jul 28 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
PHP微信模板消息操作示例
Jun 29 PHP
关于laravel 子查询 &amp; join的使用
Oct 16 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 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开发入门教程之面向对象
2006/12/05 PHP
PHP 数组遍历顺序理解
2009/09/09 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
javascript学习网址备忘
2007/05/29 Javascript
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
JS实现复制功能
2017/03/01 Javascript
js自定义Tab选项卡效果
2017/06/05 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
python 读取DICOM头文件的实例
2018/05/07 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
2018/10/09 Python
python中安装django模块的方法
2020/03/12 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
开工典礼策划方案
2014/05/23 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
2015年保管员工作总结
2015/04/30 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
聘任合同书
2015/09/21 职场文书
班委竞选稿范文
2015/11/21 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
服务器nginx权限被拒绝解决案例
2022/09/23 Servers