好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

微信公众开发之获取周边酒店信息 - php高级应用

微信公众开发之获取周边酒店信息

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

<?php    //将提交过来的信息接收     $signature  =  $_GET [ 'signature' ];      $timestamp  =  $_GET [ 'timestamp' ];      $nonce  =  $_GET [ 'nonce' ];      $echostr  =  $_GET [ 'echostr' ];      $token  =  "yanjiadong" ;      //判断接入网站       //进行字典排序     $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;    &nbsp;    if ( $MsgType == 'location' ){      $Location_X  =  $xmlObj ->Location_X;      $Location_Y  =  $xmlObj ->Location_Y;      $Scale  =  $xmlObj ->Scale;      $Label  =  $xmlObj ->Label;      $urlstr  =  "http://api.map.baidu测试数据/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测试数据/staticimage?width=640&height=320&center=" . $Location_Y . "," . $Location_X . "&zoom=15&markers=" . $Location_Y . "," . $Location_X . "&markerStyles=l," ;      $pic_80  =  "http://api.map.baidu测试数据/staticimage?width=80&height=80&center=" . $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://yanjiadong.net/weixin/images/640_" . $FromUserName . ".png" ;   } else {    $picurl  =  "http://yanjiadong.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测试数据/place/detail?uid=".$v['uid']."&output=html&src=".$v['name']."&output=html]]></Url>    </item>"; //开源代码phpfensi测试数据    }      $str  .=  "</Articles></xml>" ;      return   $str ;   }    ?>

查看更多关于微信公众开发之获取周边酒店信息 - php高级应用的详细内容...

  阅读:56次