茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    php微信公眾平臺(tái)開發(fā)類實(shí)例
    來源:易賢網(wǎng) 閱讀:1169 次 日期:2015-04-03 09:57:23
    溫馨提示:易賢網(wǎng)小編為您整理了“php微信公眾平臺(tái)開發(fā)類實(shí)例”,方便廣大網(wǎng)友查閱!

    <?php

    class Wechat {

    /**

    * 微信推送過來的數(shù)據(jù)或響應(yīng)數(shù)據(jù)

    * @var array

    */

    private $data = array();

    /**

    * 構(gòu)造方法,用于實(shí)例化微信SDK

    * @param string $token 微信開放平臺(tái)設(shè)置的TOKEN

    */

    public function __construct($token) {

    $this->auth($token) || exit;

    if(!empty($_GET['echostr'])){

    exit($_GET['echostr']);

    } else {

    try

    {

    $xml = file_get_contents("php://input");

    $xml = new SimpleXMLElement($xml);

    $xml || exit;

    foreach ($xml as $key => $value) {

    $this->data[$key] = strval($value);

    }

    }catch(Exception $e){

    }

    }

    }

    /**

    * 獲取微信推送的數(shù)據(jù)

    * @return array 轉(zhuǎn)換為數(shù)組后的數(shù)據(jù)

    */

    public function request(){

    return $this->data;

    }

    /**

    * * 響應(yīng)微信發(fā)送的信息(自動(dòng)回復(fù))

    * @param string $to 接收用戶名

    * @param string $from 發(fā)送者用戶名

    * @param array $content 回復(fù)信息,文本信息為string類型

    * @param string $type 消息類型

    * @param string $flag 是否新標(biāo)剛接受到的信息

    * @return string XML字符串

    */

    public function response($content, $type = 'text', $flag = 0){

    /* 基礎(chǔ)數(shù)據(jù) */

    $this->data = array(

    'ToUserName' => $this->data['FromUserName'],

    'FromUserName' => $this->data['ToUserName'],

    'CreateTime' => time(),

    'MsgType' => $type,

    );

    /* 添加類型數(shù)據(jù) */

    $this->$type($content);

    /* 添加狀態(tài) */

    $this->data['FuncFlag'] = $flag;

    /* 轉(zhuǎn)換數(shù)據(jù)為XML */

    $xml = new SimpleXMLElement('<xml></xml>');

    $this->data2xml($xml, $this->data);

    exit($xml->asXML());

    }

    /**

    * 回復(fù)文本信息

    * @param string $content 要回復(fù)的信息

    */

    private function text($content){

    $this->data['Content'] = $content;

    }

    /**

    * 回復(fù)音樂信息

    * @param string $content 要回復(fù)的音樂

    */

    private function music($music){

    list(

    $music['Title'],

    $music['Description'],

    $music['MusicUrl'],

    $music['HQMusicUrl']

    ) = $music;

    $this->data['Music'] = $music;

    }

    /**

    * 回復(fù)圖文信息

    * @param string $news 要回復(fù)的圖文內(nèi)容

    */

    private function news($news){

    $articles = array();

    foreach ($news as $key => $value) {

    list(

    $articles[$key]['Title'],

    $articles[$key]['Description'],

    $articles[$key]['PicUrl'],

    $articles[$key]['Url']

    ) = $value;

    if($key >= 9) { break; } //最多只允許10調(diào)新聞

    }

    $this->data['ArticleCount'] = count($articles);

    $this->data['Articles'] = $articles;

    }

    /**

    * 數(shù)據(jù)XML編碼

    * @param object $xml XML對象

    * @param mixed $data 數(shù)據(jù)

    * @param string $item 數(shù)字索引時(shí)的節(jié)點(diǎn)名稱

    * @return string

    */

    private function data2xml($xml, $data, $item = 'item') {

    foreach ($data as $key => $value) {

    /* 指定默認(rèn)的數(shù)字key */

    is_numeric($key) && $key = $item;

    /* 添加子元素 */

    if(is_array($value) || is_object($value)){

    $child = $xml->addChild($key);

    $this->data2xml($child, $value, $item);

    } else {

    if(is_numeric($value)){

    $child = $xml->addChild($key, $value);

    } else {

    $child = $xml->addChild($key);

    $node = dom_import_simplexml($child);

    $node->appendChild($node->ownerDocument->createCDATASection($value));

    }

    }

    }

    }

    /**

    * 對數(shù)據(jù)進(jìn)行簽名認(rèn)證,確保是微信發(fā)送的數(shù)據(jù)

    * @param string $token 微信開放平臺(tái)設(shè)置的TOKEN

    * @return boolean true-簽名正確,false-簽名錯(cuò)誤

    */

    private function auth($token){

    if(empty($_GET['signature'])) return;

    /* 獲取數(shù)據(jù) */

    $data = array($_GET['timestamp'], $_GET['nonce'], $token);

    $sign = $_GET['signature'];

    /* 對數(shù)據(jù)進(jìn)行字典排序 */

    sort($data,SORT_STRING);

    /* 生成簽名 */

    $signature = sha1(implode($data));

    return $signature === $sign;

    }

    }

    更多信息請查看IT技術(shù)專欄

    更多信息請查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:php微信公眾平臺(tái)開發(fā)類實(shí)例
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)