程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 微信接口封裝類

PHP 微信接口封裝類

編輯:關於PHP編程

<?php /**   * 微信公眾平台接口PHP100封裝功能類文件   * author   * date 2013-4-9 PRC:E+8 23:03   */   define("TOKEN", "chuangenit"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->weixin_run(); //執行接收器方法   class wechatCallbackapiTest {    private $fromUsername;    private $toUsername;    private $times;    private $keyword;            public function weixin_run(){      $this->responseMsg(); $arr[]=array("很靠譜,不錯!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www.baidu.com"); $arr[]=array("很靠譜,不錯!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www.baidu.com"); $arr[]=array("很靠譜,不錯!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www.baidu.com"); $this->fun_xml("news",$arr,array(2,0));     }           function t($n){    include("t_api.php");    $c_name=$t_api[$n];    $json=file_get_contents("http://m.weather.com.cn/data/101110310.html");    return json_decode($json);   }             public function valid()     {         $echoStr = $_GET["echostr"];           //valid signature , option         if($this->checkSignature()){          echo $echoStr;          exit;         }     }       public function responseMsg()     { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);                 $this->fromUsername = $postObj->FromUserName;                 $this->toUsername = $postObj->ToUserName;                 $this->keyword = trim($postObj->Content); $this->times = time();         }else {          echo "this a file for weixin API!";          exit;         }     }   //微信封裝類, //type: text 文本類型, news 圖文類型 //text,array(內容),array(ID) //news,array(array(標題,介紹,圖片,超鏈接),...小於10條),array(條數,ID)   private function fun_xml($type,$value_arr,$o_arr=array(0)){  //=================xml header============  $con="<xml> <ToUserName><![CDATA[{$this->fromUsername}]]></ToUserName> <FromUserName><![CDATA[{$this->toUsername}]]></FromUserName> <CreateTime>{$this->times}</CreateTime> <MsgType><![CDATA[{$type}]]></MsgType>";         //=================type content============  switch($type){      case "text" :   $con.="<Content><![CDATA[{$value_arr[0]}]]></Content> <FuncFlag>{$o_arr}</FuncFlag>";   break;   case "news" :   $con.="<ArticleCount>{$o_arr[0]}</ArticleCount> <Articles>"; foreach($value_arr as $id=>$v){ if($id>=$o_arr[0]) break; else null; //判斷數組數不超過設置數          $con.="<item> <Title><![CDATA[{$v[0]}]]></Title>  <Description><![CDATA[{$v[1]}]]></Description> <PicUrl><![CDATA[{$v[2]}]]></PicUrl> <Url><![CDATA[{$v[3]}]]></Url> </item>"; } $con.="</Articles> <FuncFlag>{$o_arr[1]}</FuncFlag>";   break;    } //end switch   //=================end return============  echo $con."</xml>"; }       private function checkSignature() {         $signature = $_GET["signature"];         $timestamp = $_GET["timestamp"];         $nonce = $_GET["nonce"];          $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr );   if( $tmpStr == $signature ){ return true; }else{ return false; } } }   ?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved