ホームページ  >  記事  >  php教程  >  PHP WeChat インターフェースのカプセル化クラス (PHP100)

PHP WeChat インターフェースのカプセル化クラス (PHP100)

WBOY
WBOYオリジナル
2016-06-21 08:49:57916ブラウズ

/**

* WeChat パブリック プラットフォーム インターフェイス PHP100 カプセル化された機能ファイル

* 著者 PHP100.com 張恩民

*日付 2013-4-9 PRC:E+8 23:03

* linkme QQ925939 chuangen.com

​*/

定義("トークン", "チュアンゲニット");

$wechatObj = 新しい wechatCallbackapiTest();

$wechatObj->weixin_run() //受信側メソッドを実行

クラス wechatCallbackapiTest

{

プライベート $fromUsername;

private $toUsername;

プライベート $times;

プライベート $キーワード;

パブリック関数 weixin_run(){

$this->responseMsg();

$arr[]=array("Chuangen は非常に信頼できます。PHP100 も悪くありません!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www .chuangen.com");

$arr[]=array("Chuangen は非常に信頼できます。PHP100 も悪くありません!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www .chuangen.com");

$arr[]=array("Chuangen は非常に信頼できます。PHP100 も悪くありません!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www .chuangen.com");

$this->fun_xml("ニュース",$arr,array(2,0));

}

関数 t($n){

include("t_api.php");

$c_name=$t_api[$n];

$json=file_get_contents("http://m.weather.com.cn/data/101110310.html");

json_decode($json) を返します;

}

パブリック関数 valid()

{

$echoStr = $_GET["echostr"];

//有効な署名、オプション

if($this->checkSignature()){

エコー $echoStr;

終了;

}

}

パブリック関数 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 =rim($postObj->Content);

$this->times = time();

}else {

echo "これは weixin API 用のファイルです!";

終了; }

}

//Wechat のパッケージ化、

//type: テキストテキストタイプ、ニュースグラフィックタイプ

//テキスト,配列(内容),配列(ID)

//ニュース,array(配列(タイトル、紹介文、画像、ハイパーリンク),...10項目未満),配列(項目数, ID)

プライベート関数 fun_xml($type,$value_arr,$o_arr=array(0)){

//=================xml ヘッダー============

$con="

fromUsername}]]>

toUsername}]]>

{$this->回}

";

//==================コンテンツの種類============

スイッチ($type){

ケース "テキスト" :

$con.="<コンテンツ>

{$o_arr}";

休憩;

ケース「ニュース」:

 $con.="{$o_arr[0]}

<記事>";

foreach($value_arr as $id=>$v){

if($id>=$o_arr[0]) ブレーク;それ以外の場合は null; // 判断数組数不超过设置数

         $con.="<アイテム>

<タイトル> 

<説明>

";

}

$con.="

{$o_arr[1]}";

休憩;

 

 } //終了スイッチ

 

//=================エンドリターン============

 echo $con."";

}

 

 

 

プライベート関数 checkSignature()

{

        $signature = $_GET["署名"];

        $timestamp = $_GET["timestamp"];

        $nonce = $_GET["nonce"];

       

$token = トークン;

$tmpArr = array($token, $timestamp, $nonce);

ソート($tmpArr);

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

 

if( $tmpStr == $signature ){

true を返します;

}その他{

false を返します;

}

}

}

 

?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。